From a1675f56b35f5521a91851bae8ca650706374ae6 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 1 Apr 2020 21:21:10 +0200 Subject: Added vector --- include/libft_vec.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 include/libft_vec.h (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h new file mode 100644 index 0000000..62ec257 --- /dev/null +++ b/include/libft_vec.h @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* libft_vec.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 18:57:16 by charles #+# #+# */ +/* Updated: 2020/04/01 19:40:53 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LIBFT_VEC_H +# define LIBFT_VEC_H + +/* +** \file libft_vec.h +** \brief Vector manipulation +*/ + +# include +# include +# include "libft_mem.h" + +/* +** \brief Vector struct +** \param data Underlying array +** \param capacity Size of the underlying array +** \param size Number of element in the vector +*/ + +typedef struct s_ftvec +{ + void **data; + size_t capacity; + size_t size; +} t_ftvec; + +t_ftvec *ft_vecnew(size_t capacity); +void ft_vecdestroy(t_ftvec *vec, void (*del)(void *elem)); +t_ftvec *ft_vecgrow(t_ftvec *vec); +t_ftvec *ft_vecpush(t_ftvec *vec, void *pushed); +void ft_vecpop(t_ftvec *vec, void (*del)(void *elem)); +void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); + +#endif -- cgit From 1925805cc760061d5742f9d215998561fcd45211 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 1 Apr 2020 23:02:59 +0200 Subject: Added ft_vecremove, Updated README.md --- include/libft_vec.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h index 62ec257..f9199ba 100644 --- a/include/libft_vec.h +++ b/include/libft_vec.h @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 18:57:16 by charles #+# #+# */ -/* Updated: 2020/04/01 19:40:53 by charles ### ########.fr */ +/* Updated: 2020/04/01 22:53:33 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -42,5 +42,6 @@ t_ftvec *ft_vecgrow(t_ftvec *vec); t_ftvec *ft_vecpush(t_ftvec *vec, void *pushed); void ft_vecpop(t_ftvec *vec, void (*del)(void *elem)); void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); +void ft_vecremove(t_ftvec *vec, size_t i, void (*del)(void *elem)); #endif -- cgit From a2452f88fffffe4e2a278578de5ac961858a5b72 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 2 Apr 2020 11:20:44 +0200 Subject: Fixed ft_vecgrow, Added ft_vecinsert --- include/libft_vec.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h index f9199ba..c4e3e22 100644 --- a/include/libft_vec.h +++ b/include/libft_vec.h @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 18:57:16 by charles #+# #+# */ -/* Updated: 2020/04/01 22:53:33 by charles ### ########.fr */ +/* Updated: 2020/04/02 11:00:57 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,5 +43,6 @@ t_ftvec *ft_vecpush(t_ftvec *vec, void *pushed); void ft_vecpop(t_ftvec *vec, void (*del)(void *elem)); void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); void ft_vecremove(t_ftvec *vec, size_t i, void (*del)(void *elem)); +t_ftvec *ft_vecinsert(t_ftvec *vec, size_t i, void *elem); #endif -- cgit From 51b845a6a202b50966f50e166cfb11bcbdccbe33 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 4 Apr 2020 15:58:24 +0200 Subject: Added ft_strsjoin, ft_strsjoinf, ft_compar_str, ft_vecsort, ft_vecpush_safe --- include/libft_vec.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h index c4e3e22..8424bd5 100644 --- a/include/libft_vec.h +++ b/include/libft_vec.h @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 18:57:16 by charles #+# #+# */ -/* Updated: 2020/04/02 11:00:57 by charles ### ########.fr */ +/* Updated: 2020/04/04 15:55:29 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,8 +19,9 @@ */ # include -# include +# include "libft_def.h" # include "libft_mem.h" +# include "libft_algo.h" /* ** \brief Vector struct @@ -40,9 +41,11 @@ t_ftvec *ft_vecnew(size_t capacity); void ft_vecdestroy(t_ftvec *vec, void (*del)(void *elem)); t_ftvec *ft_vecgrow(t_ftvec *vec); t_ftvec *ft_vecpush(t_ftvec *vec, void *pushed); +t_ftvec *ft_vecpush_safe(t_ftvec *vec, void *pushed); void ft_vecpop(t_ftvec *vec, void (*del)(void *elem)); void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); void ft_vecremove(t_ftvec *vec, size_t i, void (*del)(void *elem)); t_ftvec *ft_vecinsert(t_ftvec *vec, size_t i, void *elem); +void ft_vecsort(t_ftvec *vec, t_ftcompar_func cmp); #endif -- cgit From d3fb362c2e0b83cc9754a05ae5bc4a68a5f9269d Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 10 May 2020 22:01:15 +0200 Subject: Added ft_strtof, ft_atof, ft_vectobuf32, ft_split_len (not tested) --- include/libft_vec.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h index 8424bd5..a5f22dd 100644 --- a/include/libft_vec.h +++ b/include/libft_vec.h @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 18:57:16 by charles #+# #+# */ -/* Updated: 2020/04/04 15:55:29 by charles ### ########.fr */ +/* Updated: 2020/05/10 21:09:25 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,5 +47,6 @@ void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); void ft_vecremove(t_ftvec *vec, size_t i, void (*del)(void *elem)); t_ftvec *ft_vecinsert(t_ftvec *vec, size_t i, void *elem); void ft_vecsort(t_ftvec *vec, t_ftcompar_func cmp); +void *ft_vectobuf32(t_ftvec *vec); #endif -- cgit From 966eb29634a84496e0851ef2b5a7d64f413d33ed Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 12 May 2020 19:10:14 +0200 Subject: Added ft_veciter_ret --- include/libft_vec.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/libft_vec.h') diff --git a/include/libft_vec.h b/include/libft_vec.h index a5f22dd..c31b36e 100644 --- a/include/libft_vec.h +++ b/include/libft_vec.h @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 18:57:16 by charles #+# #+# */ -/* Updated: 2020/05/10 21:09:25 by charles ### ########.fr */ +/* Updated: 2020/05/12 18:36:00 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -44,6 +44,7 @@ t_ftvec *ft_vecpush(t_ftvec *vec, void *pushed); t_ftvec *ft_vecpush_safe(t_ftvec *vec, void *pushed); void ft_vecpop(t_ftvec *vec, void (*del)(void *elem)); void ft_veciter(t_ftvec *vec, void (*f)(void *elem)); +void ft_veciter_ret(t_ftvec *vec, void *(*f)(void *elem)); void ft_vecremove(t_ftvec *vec, size_t i, void (*del)(void *elem)); t_ftvec *ft_vecinsert(t_ftvec *vec, size_t i, void *elem); void ft_vecsort(t_ftvec *vec, t_ftcompar_func cmp); -- cgit