arraylist.h 772 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. int(*handler)(char*);
  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*, int(*)(char*));
  27. al_node* arraylist_search(arraylist*, char*);
  28. int arraylist_call(arraylist*, char*, char*);
  29. void arraylist_delete(arraylist*, al_node*);
  30. boolean arraylist_remove(arraylist*, char*);
  31. void arraylist_clean(arraylist*);
  32. #endif /* ARRAYLIST_H */