Add a macro for t_vec initialization
authorLukas Jiriste <ljiriste@student.42prague.com>
Sun, 14 Jan 2024 16:16:47 +0000 (17:16 +0100)
committerLukas Jiriste <ljiriste@student.42prague.com>
Sun, 14 Jan 2024 16:16:47 +0000 (17:16 +0100)
Add macro for static t_vec initialization, because it needs a
compilation-time constant, which functions cannot (?) achieve.
This macro resolves to compound literal and lacks a check but should
be good enough.

ft_arr/ft_vec_init.c
inc/ft_arr.h

index ca58f03808da947d0e29b6259ff3f97c6c1d6a05..0e270f7f0b3f89842780557568fe2b5ba71aec3f 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <ljiriste@student.42prague.com>   +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/12/09 16:04:26 by ljiriste          #+#    #+#             */
-/*   Updated: 2023/12/11 10:21:49 by ljiriste         ###   ########.fr       */
+/*   Updated: 2024/01/14 16:02:28 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
index 38fb0e4a29d74c1063b4019a2f213a24b35bdaf3..c4f6d9cba15d0a971aca6bfb5bd8b0aabb273215 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <ljiriste@student.42prague.com>   +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/12/09 13:58:15 by ljiriste          #+#    #+#             */
-/*   Updated: 2024/01/12 21:25:42 by ljiriste         ###   ########.fr       */
+/*   Updated: 2024/01/14 16:03:00 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -58,6 +58,7 @@ t_arr_stat    ft_vec_forget_range(t_vec *vec, size_t index, size_t count);
 t_arr_stat     ft_vec_erase_range(t_vec *vec, size_t count, size_t index,
                                void (*free_el)(void *));
 
+# define VEC_INIT(x) {.capacity = 0, .size = 0, .el_size = (x), .vec = NULL}
 t_arr_stat     ft_vec_init(t_vec *vec, size_t el_size);
 void           ft_vec_free(t_vec *vec, void (*free_el)(void *));
 void           *ft_vec_access(t_vec *vec, size_t index);