LO41/List/List.h

30 lines
544 B
C

//
// 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