// // Created by Antoine Bartuccio on 22/05/2018. // #ifndef LO41_LIST_H #define LO41_LIST_H #include "../Objects.h" typedef struct o_Element Element; #include "Element.h" #define WRONG_ELEMENT CRASH("This element is not within the list\n") struct o_List { PRIVATE Element *head; PRIVATE Element *tail; PRIVATE int size; PUBLIC Element *(*get_head)(O_THIS(List)); PUBLIC Element *(*get_tail)(O_THIS(List)); PUBLIC int (*get_size)(O_THIS(List)); PUBLIC void (*$_free_)(O_THIS(List)); }; List *$_init_List(); #endif //LO41_LIST_H