LO41/List/Element.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;
}