arraylist.h 835 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * File: arraylist.h
  3. * Author: Arthur Brandao
  4. *
  5. * Created on 14 novembre 2018
  6. */
  7. #ifndef ARRAYLIST_H
  8. #define ARRAYLIST_H
  9. /* --- Include --- */
  10. #include "constante.h"
  11. /* --- Structure --- */
  12. typedef struct al_node al_node;
  13. struct al_node{
  14. char* key;
  15. char* val;
  16. al_node* prev;
  17. al_node* next;
  18. };
  19. typedef struct{
  20. al_node* first;
  21. al_node* last;
  22. int size;
  23. }arraylist;
  24. /* --- Fonctions --- */
  25. void arraylist_ini(arraylist*);
  26. al_node* arraylist_add(arraylist*, char*, char*);
  27. al_node* arraylist_search(arraylist*, char*);
  28. char* arraylist_get(arraylist*, char*);
  29. int arraylist_getint(arraylist*, char*);
  30. double arraylist_getdouble(arraylist*, char*);
  31. void arraylist_delete(arraylist*, al_node*);
  32. boolean arraylist_remove(arraylist*, char*);
  33. void arraylist_clean(arraylist*);
  34. #endif /* ARRAYLIST_H */