libft
Loading...
Searching...
No Matches
ft_list.h
Go to the documentation of this file.
1
25#ifndef FT_LIST_H
26#define FT_LIST_H
27
61typedef struct s_list
62{
63 void* content;
64 struct s_list* next;
66
74
81void ft_lstadd_front(t_list** lst, t_list* new);
82
89int ft_lstsize(t_list* lst);
90
98
105void ft_lstadd_back(t_list** lst, t_list* new);
106
113void ft_lstdelone(t_list* lst, void (*del)(void*));
114
121void ft_lstclear(t_list** lst, void (*del)(void*));
122
129void ft_lstiter(t_list* lst, void (*f)(void*));
130
139t_list* ft_lstmap(t_list* lst, void* (*f)(void*), void (*del)(void*));
140
146void ft_del(void* content);
147
// end of linked_list group
149
150#endif /* FT_LIST_H */
struct s_list * next
Pointer to the next node.
Definition ft_list.h:64
void * content
Pointer to the node's content.
Definition ft_list.h:63
void ft_lstadd_front(t_list **lst, t_list *new)
Adds a node to the front of a list.
Definition ft_list.c:63
void ft_lstiter(t_list *lst, void(*f)(void *))
Applies a function to each element of the list.
Definition ft_list.c:205
void ft_del(void *content)
Deletes content pointer in a list node (utility function).
Definition ft_list.c:112
void ft_lstadd_back(t_list **lst, t_list *new)
Adds a node to the end of a list.
Definition ft_list.c:84
struct s_list t_list
Node structure for singly linked list.
void ft_lstclear(t_list **lst, void(*del)(void *))
Clears an entire list, deleting all its nodes.
Definition ft_list.c:151
t_list * ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))
Creates a new list by applying a function to each node.
Definition ft_list.c:238
t_list * ft_lstnew(void *content)
Creates a new list node.
Definition ft_list.c:39
int ft_lstsize(t_list *lst)
Counts the number of nodes in a list.
Definition ft_list.c:277
void ft_lstdelone(t_list *lst, void(*del)(void *))
Deletes a single node using a deletion function.
Definition ft_list.c:129
t_list * ft_lstlast(t_list *lst)
Returns the last node of the list.
Definition ft_list.c:181
Definition ft_list.h:62