22 lines
612 B
C
22 lines
612 B
C
#ifndef VECTOR_H
|
|
#define VECTOR_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
typedef struct {
|
|
void* data; // Puntero a buffer genérico
|
|
size_t size; // Cantidad de elementos actualmente en el vector
|
|
size_t capacity; // Capacidad total del vector
|
|
size_t element_size; // Tamaño de cada elemento
|
|
} Vector;
|
|
|
|
void vector_init(Vector* v, size_t element_size, size_t initial_capacity);
|
|
void vector_push_back(Vector* v, const void* element);
|
|
void vector_pop_back(Vector* v);
|
|
void *vector_get(Vector* v, size_t index);
|
|
size_t vector_size(Vector* v);
|
|
size_t vector_capacity(Vector* v);
|
|
void vector_free(Vector* v);
|
|
|
|
#endif
|