/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* vector.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: lud-adam +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/03/29 14:24:01 by lud-adam #+# #+# */ /* Updated: 2026/03/29 14:40:21 by lud-adam ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef VECTOR_H #define VECTOR_H #include #define VECTOR_INIT_CAPACITY 6 #define UNDEFINE -1 #define SUCCESS 0 typedef struct s_vector_list { void **items; int capacity; int total; } t_vector_list; typedef struct s_vector t_vector; struct s_vector { t_vector_list vector_list; /**< List to store vector elements */ int (*pfVectorTotal)( t_vector *); /**< Retrieves the total number of elements in the vector */ int (*pfVectorResize)(t_vector *, int); /**< Resizes the vector to a new capacity */ int (*pfVectorAdd)(t_vector *, void *); /**< Adds an element to the vector */ int (*pfVectorSet)( t_vector *, int, void *); /**< Sets an element at a specific index in the vector */ void *(*pfVectorGet)(t_vector *, int); /**< Retrieves an element from the vector */ int (*pfVectorDelete)(t_vector *, int); /**< Deletes an element from the vector */ int (*pfVectorFree)( t_vector *); /**< Frees the memory allocated for the vector */ }; bool vector_init(t_vector *v); #endif