ft_vec_is_subset.c \
ft_vec_is_setequal.c \
\
+ ft_vec_setinsert.c \
+ \
ft_mat_init.c \
ft_mat_append.c \
ft_mat_insert_col.c \
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_vec_setinsert.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: ljiriste <ljiriste@student.42prague.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/07/04 09:52:19 by ljiriste #+# #+# */
+/* Updated: 2024/07/04 10:23:41 by ljiriste ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "ft_arr.h"
+
+t_ft_stat ft_vec_setinsert(t_vec *vec, const void *el,
+ int (*cmp_elements)(const void *, const void *))
+{
+ if (ft_vec_contains(vec, el, cmp_elements))
+ return (already_inside);
+ return (ft_vec_append(vec, el));
+}
/* By: ljiriste <ljiriste@student.42prague.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/09 13:58:15 by ljiriste #+# #+# */
-/* Updated: 2024/06/28 14:11:56 by ljiriste ### ########.fr */
+/* Updated: 2024/07/04 10:20:25 by ljiriste ### ########.fr */
/* */
/* ************************************************************************** */
int ft_vec_is_setequal(const t_vec *first, const t_vec *second,
int (*cmp_elements)(const void *, const void *));
+t_ft_stat ft_vec_setinsert(t_vec *vec, const void *el,
+ int (*cmp_el)(const void *, const void *));
+
t_arr_stat ft_mat_init(t_mat *mat, size_t el_size);
void ft_mat_free(t_mat *mat, void (*free_el)(void *));
t_arr_stat ft_mat_resize(t_mat *mat, size_t rows, size_t cols);
/* By: ljiriste <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/20 12:40:28 by ljiriste #+# #+# */
-/* Updated: 2024/06/20 13:08:35 by ljiriste ### ########.fr */
+/* Updated: 2024/07/04 10:14:10 by ljiriste ### ########.fr */
/* */
/* ************************************************************************** */
typedef enum e_ft_stat
{
success,
+ already_inside,
alloc_fail,
invalid_size,
invalid_input,