refactor(vector): remove namespace
This commit is contained in:
@@ -12,23 +12,23 @@ typedef struct my_elem {
|
|||||||
void test_v1() {
|
void test_v1() {
|
||||||
/* Allocate a new vector */
|
/* Allocate a new vector */
|
||||||
size_t elem_size = sizeof(my_elem_s);
|
size_t elem_size = sizeof(my_elem_s);
|
||||||
mcl_vector_s *v = mcl_vector_new(10, elem_size);
|
vector_s *v = vector_new(10, elem_size);
|
||||||
assert(mcl_vector_size(v) == 0);
|
assert(vector_size(v) == 0);
|
||||||
assert(mcl_vector_capacity(v) == 16);
|
assert(vector_cap(v) == 16);
|
||||||
|
|
||||||
/* Push an element */
|
/* Push an element */
|
||||||
my_elem_s e1 = {
|
my_elem_s e1 = {
|
||||||
.age = 21,
|
.age = 21,
|
||||||
.name = "John",
|
.name = "John",
|
||||||
};
|
};
|
||||||
mcl_vector_push(v, &e1);
|
vector_push(v, &e1);
|
||||||
assert(mcl_vector_size(v) == 1);
|
assert(vector_size(v) == 1);
|
||||||
|
|
||||||
/* Retrieve an element (Remember to FREE) */
|
/* Retrieve an element (Remember to FREE) */
|
||||||
my_elem_s *e1_v = (my_elem_s *)mcl_vector_get(v, 0);
|
my_elem_s *e1_v = (my_elem_s *)vector_get(v, 0);
|
||||||
printf("name: %s, age: %d\n", e1_v->name, e1_v->age);
|
printf("name: %s, age: %d\n", e1_v->name, e1_v->age);
|
||||||
free(e1_v);
|
free(e1_v);
|
||||||
|
|
||||||
/* Deallocate the vector */
|
/* Deallocate the vector */
|
||||||
mcl_vector_free(v);
|
vector_free(v);
|
||||||
}
|
}
|
||||||
@@ -20,12 +20,12 @@ static size_t next_power_two(size_t len) {
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
mcl_vector_s *mcl_vector_new(size_t initial_capacity, size_t element_size) {
|
vector_s *vector_new(size_t initial_capacity, size_t element_size) {
|
||||||
if (initial_capacity < 0) {
|
if (initial_capacity < 0) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
mcl_vector_s *vec = (mcl_vector_s *)malloc(sizeof(mcl_vector_s));
|
vector_s *vec = (vector_s *)malloc(sizeof(vector_s));
|
||||||
if (vec == NULL) {
|
if (vec == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ mcl_vector_s *mcl_vector_new(size_t initial_capacity, size_t element_size) {
|
|||||||
return vec;
|
return vec;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mcl_vector_push(mcl_vector_s *vec, void *elem) {
|
int vector_push(vector_s *vec, void *elem) {
|
||||||
if (vec == NULL || elem == NULL) {
|
if (vec == NULL || elem == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ int mcl_vector_push(mcl_vector_s *vec, void *elem) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mcl_vector_free(mcl_vector_s *vec) {
|
void vector_free(vector_s *vec) {
|
||||||
if (vec == NULL) {
|
if (vec == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ void mcl_vector_free(mcl_vector_s *vec) {
|
|||||||
free(vec);
|
free(vec);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mcl_vector_size(mcl_vector_s *vec) {
|
size_t vector_size(vector_s *vec) {
|
||||||
if (vec == NULL) {
|
if (vec == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ size_t mcl_vector_size(mcl_vector_s *vec) {
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mcl_vector_capacity(mcl_vector_s *vec) {
|
size_t vector_cap(vector_s *vec) {
|
||||||
if (vec == NULL) {
|
if (vec == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -124,7 +124,7 @@ size_t mcl_vector_capacity(mcl_vector_s *vec) {
|
|||||||
return cap;
|
return cap;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *mcl_vector_get(mcl_vector_s *vec, size_t index) {
|
void *vector_get(vector_s *vec, size_t index) {
|
||||||
if (vec == NULL || index < 0 || index > vec->size) {
|
if (vec == NULL || index < 0 || index > vec->size) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,21 +5,21 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <threads.h>
|
#include <threads.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct vector {
|
||||||
void *data;
|
void *data;
|
||||||
size_t elem_size;
|
size_t elem_size;
|
||||||
size_t size;
|
size_t size;
|
||||||
size_t capacity;
|
size_t capacity;
|
||||||
mtx_t lock;
|
mtx_t lock;
|
||||||
} mcl_vector_s;
|
} vector_s;
|
||||||
|
|
||||||
mcl_vector_s *mcl_vector_new(size_t initial_capacity, size_t element_size);
|
vector_s *vector_new(size_t initial_capacity, size_t element_size);
|
||||||
int mcl_vector_push(mcl_vector_s *vec, void *elem);
|
int vector_push(vector_s *vec, void *elem);
|
||||||
size_t mcl_vector_size(mcl_vector_s *vec);
|
size_t vector_size(vector_s *vec);
|
||||||
size_t mcl_vector_capacity(mcl_vector_s *vec);
|
size_t vector_cap(vector_s *vec);
|
||||||
|
|
||||||
void *mcl_vector_get(mcl_vector_s *vec, size_t index);
|
void *vector_get(vector_s *vec, size_t index);
|
||||||
|
|
||||||
void mcl_vector_free(mcl_vector_s *vec);
|
void vector_free(vector_s *vec);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user