A-maze-D documentation 1.0.0
Loading...
Searching...
No Matches
mylist.h
1/*
2** EPITECH PROJECT, 2023
3** Libmylist
4** File description:
5** The header file of the libmylist
6*/
7
8#include "my.h"
9
10#ifndef MYLIST_H
11 #define MYLIST_H
12
13typedef enum type {
14 SHORT_SHORT,
15 SHORT,
16 INT,
17 LONG,
18 LONG_LONG,
19 UNSIGNED_SHORT,
20 UNSIGNED_SHORT_SHORT,
21 UNSIGNED_INT,
22 UNSIGNED_LONG,
23 UNSIGNED_LONG_LONG,
24 SIZE_T,
25 FLOAT,
26 DOUBLE,
27 CHAR,
28 STRING,
29 ARRAY_OF_STRING,
30 VOID,
31 UNKNOWN
32} type_t;
33
34typedef struct linked_list {
35 struct linked_list *prev;
36 void *data;
37 type_t type;
38 struct linked_list *next;
40
41void my_push_front(linked_list_t **begin, void *data, type_t type);
42void my_push_back(linked_list_t **begin, void *data, type_t type);
43linked_list_t *my_params_to_list(int ac, char *const *av);
44void my_show_list(linked_list_t *list);
45int my_list_size(linked_list_t const *begin);
46int my_delete_nodes(linked_list_t **begin,
47 void const *data_ref, int (*cmp) ());
48void my_delete_list(linked_list_t **begin);
49void my_rev_list(linked_list_t **begin);
50linked_list_t *my_find_node(linked_list_t const *begin,
51 void const *data, int (*cmp) ());
52void my_concat_list(linked_list_t **begin1, linked_list_t *begin2);
53void my_sort_list(linked_list_t **begin, int (*cmp) ());
54void my_merge_list(linked_list_t **begin1,
55 linked_list_t *begin2, int (*cmp) ());
56linked_list_t *my_pop_front(linked_list_t **begin);
57linked_list_t *my_pop_back(linked_list_t **begin);
58linked_list_t *my_pop_node(linked_list_t **begin,
59 void const *data_ref, int (*cmp) ());
60
61#endif
The header file of the libmy.
Definition mylist.h:34