LO41/List/Element.h

31 lines
718 B
C

//
// Created by Antoine Bartuccio on 22/05/2018.
//
#ifndef LO41_ELEMENT_H
#define LO41_ELEMENT_H
typedef struct o_List List;
#include "List.h"
struct o_Element {
PRIVATE List *list;
PRIVATE void *data;
PRIVATE struct o_Element *next;
PRIVATE struct o_Element *previous;
PUBLIC struct o_Element *(*get_next)(O_THIS(Element));
PUBLIC struct o_Element *(*get_previous)(O_THIS(Element));
PUBLIC void *(*get_data)(O_THIS(Element));
PUBLIC void (*set_previous)(O_THIS(Element), struct o_Element *previous);
PUBLIC void (*set_next)(O_THIS(Element), struct o_Element *next);
PUBLIC void (*$_free_)(O_THIS(Element));
};
Element *$_init_Element(void *data, size_t size, List *list);
#endif //LO41_ELEMENT_H