mirror of https://gitlab.com/klmp200/LO41.git
38 lines
784 B
C
38 lines
784 B
C
//
|
|
// Created by Antoine Bartuccio on 22/05/2018.
|
|
//
|
|
|
|
#include <string.h>
|
|
#include "List.h"
|
|
|
|
GETTER(Element, Element*, next)
|
|
GETTER(Element, Element*, previous)
|
|
GETTER(Element, void*, data)
|
|
|
|
void set_previous_Element(THIS(Element), Element *previous){
|
|
this->previous = previous;
|
|
}
|
|
|
|
void set_next_Element(THIS(Element), Element *next){
|
|
this->next = next;
|
|
}
|
|
|
|
void $_free__Element(THIS(Element)){
|
|
free(this);
|
|
}
|
|
|
|
Element *_init_element(void *data, size_t size, List *list){
|
|
Element *el = (Element*) malloc_or_die(sizeof(Element));
|
|
void *newData = malloc_or_die(sizeof(size));
|
|
|
|
memcpy(newData, data, size);
|
|
el->list = list;
|
|
el->data = newData;
|
|
el->previous = NULL;
|
|
el->next = NULL;
|
|
|
|
LINK_ALL(Element, el, get_next, get_previous, get_data, set_next, set_previous)
|
|
|
|
return el;
|
|
}
|