fx.collections: update header directories
This commit is contained in:
+53
-14
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user