#ifndef VECTOR_H
#define VECTOR_H

#include <stddef.h>

// Define the vector structure
typedef struct {
    void** items;     // Pointer to the array of items
    size_t capacity;  // Maximum number of items the vector can hold
    size_t size;      // Current number of items in the vector
} vector;

// Function prototypes
vector* vector_create();
void vector_destroy(vector* v);
int vector_push_back(vector* v, void* item);
void* vector_get(vector* v, size_t index);
int vector_set(vector* v, size_t index, void* item);
size_t vector_size(vector* v);
int vector_resize(vector* v, size_t new_capacity);

#endif
