libcake 0.0.1
Librairie en C
array.h
1#ifndef __CAKE_ARRAY_H__
2#define __CAKE_ARRAY_H__
3
4#include <stdlib.h>
5#include "def.h"
6
7/*
8 Lorsqu'une structure utilise Cake_ArrayList, il faut que l'élément
9 juste après soit un pointeur de pointeur de structure.
10*/
11typedef struct cake_arraylist {
12 ulonglong length;
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/*
20 Change la taille d'une liste, pour l'augmenter ou la réduire.
21
22 elementSize peut-être obtenu avec sizeof(<element>),
23 newLength est le nouveau nombre d'éléments dans la liste.
24
25 Note :
26 Cette fonction permet de modifier la taille de n'importe quelle liste,
27 mais c'est tout, aucune autre zone mémoire n'est créée.
28
29 Exemple :
30 Cake_String_UTF8 *str = cake_strutf8("Hello World bonjour");
31
32 Cake_List_String_UTF8 *list = cake_strutf8_split(str, " ");
33
34 cake_array_resize((Cake_ArrayList *) list, sizeof(Cake_String_UTF8 *), 4);
35 list->list[3] = cake_strutf8("Test");
36
37 printf("%llu\n", list->list[3]->data.length);
38 cake_free_list_strutf8(list);
39
40 cake_free_strutf8(str);
41*/
42void cake_array_resize(Cake_ArrayList *array, ulonglong elementSize, ulonglong newLength);
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif
Fichier contenant les types utilisés fréquemment par la librairie.
Definition: array.h:11