libft
Loading...
Searching...
No Matches
vec.h
Go to the documentation of this file.
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* vec.h :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: tspoof <tspoof@student.hive.fi> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2022/12/12 22:48:26 by tspoof #+# #+# */
9/* Updated: 2023/06/05 11:03:02 by tspoof ### ########.fr */
10/* */
11/* ************************************************************************** */
12
13#ifndef VEC_H
14# define VEC_H
15
16# include <stdlib.h>
17# include "libft.h"
18
19typedef struct s_vec
20{
21 unsigned char *memory;
22 size_t elem_size;
23 size_t alloc_size;
24 size_t len;
35int vec_append(t_vec *dst, t_vec *src);
36int vec_copy(t_vec *dst, t_vec *src);
44void vec_free(t_vec *src);
58int vec_from(t_vec *dst, void *src, size_t len, size_t elem_size);
70int vec_new(t_vec *dst, size_t init_len, size_t elem_size);
80int vec_prepend(t_vec *dst, t_vec *src);
91int vec_push(t_vec *dst, void *src);
103int vec_resize(t_vec *src, size_t target_len);
111int vec_remove(t_vec *src, size_t index);
112
113#endif
Definition vec.h:20
size_t alloc_size
Definition vec.h:23
size_t len
Definition vec.h:24
unsigned char * memory
Definition vec.h:21
size_t elem_size
Definition vec.h:22
int vec_push(t_vec *dst, void *src)
Push element to the end of the vector.
Definition vec_push.c:17
int vec_new(t_vec *dst, size_t init_len, size_t elem_size)
Creates a new vector.
Definition vec_new.c:16
int vec_remove(t_vec *src, size_t index)
Removes item at index.
Definition vec_remove.c:15
struct s_vec t_vec
void vec_free(t_vec *src)
Frees vectors memory.
Definition vec_free.c:15
int vec_prepend(t_vec *dst, t_vec *src)
Prepends memory to a vector.
int vec_from(t_vec *dst, void *src, size_t len, size_t elem_size)
Creates a new vector from src.
Definition vec_from.c:15
int vec_resize(t_vec *src, size_t target_len)
Resizes vector.
Definition vec_resize.c:17
int vec_copy(t_vec *dst, t_vec *src)
Definition vec_copy.c:22
int vec_append(t_vec *dst, t_vec *src)
Appends vector to a vector.
Definition vec_append.c:17