fx.collections: update header directories

This commit is contained in:
2026-05-02 21:01:51 +01:00
parent b951577f48
commit c78ea4bfa6
26 changed files with 444 additions and 205 deletions
+53 -14
View File
@@ -1,5 +1,5 @@
#include <fx/core/iterator.h>
#include <fx/ds/buffer.h>
#include <fx/collections/buffer.h>
#include <fx/iterator.h>
#include <stdlib.h>
#include <string.h>
@@ -21,7 +21,8 @@ static fx_status resize_buffer(struct fx_buffer_p *buffer, size_t new_capacity)
{
if (buffer->buf_cap < new_capacity) {
void *new_data = realloc(
buffer->buf_data, new_capacity * buffer->buf_itemsz);
buffer->buf_data,
new_capacity * buffer->buf_itemsz);
if (!new_data) {
return FX_ERR_NO_MEMORY;
}
@@ -29,7 +30,8 @@ static fx_status resize_buffer(struct fx_buffer_p *buffer, size_t new_capacity)
buffer->buf_data = new_data;
} else {
void *new_data = realloc(
buffer->buf_data, new_capacity * buffer->buf_itemsz);
buffer->buf_data,
new_capacity * buffer->buf_itemsz);
if (!new_data) {
return FX_ERR_NO_MEMORY;
}
@@ -78,7 +80,10 @@ static enum fx_status buffer_resize(struct fx_buffer_p *buf, size_t length)
}
static enum fx_status buffer_insert(
struct fx_buffer_p *buffer, const void *p, size_t count, size_t at)
struct fx_buffer_p *buffer,
const void *p,
size_t count,
size_t at)
{
if (at == FX_NPOS) {
at = buffer->buf_len;
@@ -110,7 +115,10 @@ static enum fx_status buffer_insert(
return FX_SUCCESS;
}
static enum fx_status buffer_remove(struct fx_buffer_p *buffer, size_t at, size_t count)
static enum fx_status buffer_remove(
struct fx_buffer_p *buffer,
size_t at,
size_t count)
{
if (at >= buffer->buf_len) {
return FX_ERR_OUT_OF_BOUNDS;
@@ -162,7 +170,9 @@ static enum fx_status buffer_clear(struct fx_buffer_p *buffer)
}
static enum fx_status buffer_push_back(
struct fx_buffer_p *buf, size_t count, void **p)
struct fx_buffer_p *buf,
size_t count,
void **p)
{
enum fx_status status = FX_SUCCESS;
@@ -181,7 +191,9 @@ static enum fx_status buffer_push_back(
}
static enum fx_status buffer_push_front(
struct fx_buffer_p *buf, size_t count, void **p)
struct fx_buffer_p *buf,
size_t count,
void **p)
{
enum fx_status status = FX_SUCCESS;
@@ -286,7 +298,10 @@ fx_buffer *fx_buffer_create_from_bytes(const void *buf, size_t len)
return buffer;
}
fx_buffer *fx_buffer_create_from_array(const void *buf, size_t item_sz, size_t len)
fx_buffer *fx_buffer_create_from_array(
const void *buf,
size_t item_sz,
size_t len)
{
fx_buffer *buffer = fx_object_create(FX_TYPE_BUFFER);
if (!buffer) {
@@ -325,14 +340,28 @@ enum fx_status fx_buffer_resize(fx_buffer *buf, size_t length)
}
enum fx_status fx_buffer_insert(
fx_buffer *buffer, const void *p, size_t count, size_t at)
fx_buffer *buffer,
const void *p,
size_t count,
size_t at)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_BUFFER, buffer_insert, buffer, p, count, at);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_BUFFER,
buffer_insert,
buffer,
p,
count,
at);
}
enum fx_status fx_buffer_remove(fx_buffer *buffer, size_t at, size_t count)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_BUFFER, buffer_remove, buffer, at, count);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_BUFFER,
buffer_remove,
buffer,
at,
count);
}
void *fx_buffer_ptr(const fx_buffer *buffer)
@@ -362,12 +391,22 @@ enum fx_status fx_buffer_clear(fx_buffer *buffer)
enum fx_status fx_buffer_push_back(fx_buffer *buf, size_t count, void **p)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_BUFFER, buffer_push_back, buf, count, p);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_BUFFER,
buffer_push_back,
buf,
count,
p);
}
enum fx_status fx_buffer_push_front(fx_buffer *buf, size_t count, void **p)
{
FX_CLASS_DISPATCH_STATIC(FX_TYPE_BUFFER, buffer_push_front, buf, count, p);
FX_CLASS_DISPATCH_STATIC(
FX_TYPE_BUFFER,
buffer_push_front,
buf,
count,
p);
}
enum fx_status fx_buffer_pop_back(fx_buffer *buf, size_t count)