#include <Array.h>
Fonctions membres publiques | |
| Array (unsigned int iMaxSize=ARRAY_DEF_MAX, unsigned int iAllocSize=ARRAY_DEF_ALLOC, unsigned int iDeallocSize=ARRAY_DEF_DEALLOC) | |
| ~Array () | |
| unsigned int | push_back (T pData) |
| Ajoute un élément. | |
| unsigned int | push (T pData, long int iPos) |
| Insert un élément. | |
| unsigned int | erase (long int iPos) |
| Supprime un élément. | |
| void | clear () |
| Vide le tableau. | |
| T | front () |
| Retourne le premier élément. | |
| T | back () |
| Retourne le dernier élément. | |
| T | operator[] (unsigned int iPos) |
| Retourne un élément. | |
| unsigned int | size () |
| Retourne le nombre d'élément. | |
| unsigned int | capacity () |
| Retourne la taille allouée. | |
| unsigned int | allocSize () |
| Retourne la taille d'un block d'allocation. | |
| unsigned int | deallocSize () |
| Retourne la taille d'un block de désallocation. | |
| unsigned int | max_size () |
| Retourne la taille max du tableau. | |
Définition à la ligne 24 du fichier Array.h.
|
||||||||||||||||||||
|
Initialise avec des paramètres par défauts.
Définition à la ligne 42 du fichier Array.h. 00043 {
00044 allocBlockSize = iAllocSize;
00045 deallocBlockSize = iDeallocSize;
00046 maxSize = iMaxSize;
00047 tab = NULL;
00048 allocatedSize = 0;
00049 nbDatas = 0;
00050 begin = 0;
00051 end = -1;
00052 };
|
|
|||||||||
|
Libere proprement la mémoire. Définition à la ligne 56 du fichier Array.h. 00057 {
00058 if(tab)
00059 free(tab);
00060 };
|
|
|||||||||
|
Retourne la taille d'un block d'allocation allocBlockSize.
Définition à la ligne 217 du fichier Array.h. 00218 {
00219 return allocBlockSize;
00220 };
|
|
|||||||||
|
Retourne le dernier élément du tableau.
Définition à la ligne 174 du fichier Array.h. 00175 {
00176 if(nbDatas)
00177 return tab[end];
00178
00179 return NULL;
00180 };
|
|
|||||||||
|
Retourne la taille allouée du tableau allocatedSize.
Définition à la ligne 208 du fichier Array.h. 00209 {
00210 return allocatedSize;
00211 };
|
|
|||||||||
|
Vide tout le tableau. Définition à la ligne 151 du fichier Array.h. 00152 {
00153 begin = 0;
00154 end = -1;
00155 nbDatas = 0;
00156 };
|
|
|||||||||
|
Retourne la taille d'un block de désallocation deallocBlockSize.
Définition à la ligne 226 du fichier Array.h. 00227 {
00228 return deallocBlockSize;
00229 };
|
|
||||||||||
|
Supprime l'élément à la position iPos .
Définition à la ligne 123 du fichier Array.h. 00124 {
00125 long int i, j;
00126
00127 if(iPos > (long int)nbDatas)
00128 return 1;
00129
00130 for(i = iPos; i < end; i++)
00131 tab[i] = tab[i + 1];
00132 tab[i] = NULL;
00133 end--;
00134 nbDatas--;
00135
00136 if(begin > deallocBlockSize)
00137 {
00138 for(i = begin, j = 0; i <= end; i++, j++)
00139 tab[j] = tab[i];
00140
00141 begin = 0;
00142 end = nbDatas - 1;
00143 }
00144
00145 return 0;
00146 };
|
|
|||||||||
|
Retourne le premier élément du tableau.
Définition à la ligne 162 du fichier Array.h. 00163 {
00164 if(nbDatas)
00165 return tab[begin];
00166
00167 return NULL;
00168 };
|
|
|||||||||
|
Retourne la taille max du tableau maxSize.
Définition à la ligne 235 du fichier Array.h. 00236 {
00237 return maxSize;
00238 };
|
|
||||||||||
|
Retourne l'élément à la position iPos .
Définition à la ligne 187 du fichier Array.h. 00188 {
00189 if(iPos < nbDatas)
00190 return tab[begin + iPos];
00191
00192 return NULL;
00193 };
|
|
||||||||||||||||
|
Insert un élément.
Définition à la ligne 91 du fichier Array.h. 00092 {
00093 unsigned int i;
00094
00095 if(iPos > (long int)nbDatas)
00096 return 1;
00097
00098 if((unsigned int)(end + 1) >= allocatedSize)
00099 {
00100 if(allocatedSize > maxSize)
00101 return 1;
00102
00103 allocatedSize += allocBlockSize;
00104 tab = (T *)realloc(tab, sizeof(T) * allocatedSize);
00105 }
00106
00107 end++;
00108
00109 for(i = iPos; i <= end; i++)
00110 tab[i + 1] = tab[i];
00111 tab[iPos] = pData;
00112
00113 nbDatas++;
00114
00115 return 0;
00116 };
|
|
||||||||||
|
Ajoute un élément à la fin du tableau.
Définition à la ligne 67 du fichier Array.h. 00068 {
00069 if((unsigned int)(end + 1) >= allocatedSize)
00070 {
00071 if(allocatedSize > maxSize)
00072 return 1;
00073
00074 allocatedSize += allocBlockSize;
00075 tab = (T *)realloc(tab, sizeof(T) * allocatedSize);
00076 }
00077
00078 end++;
00079 tab[end] = pData;
00080 nbDatas++;
00081
00082 return 0;
00083 };
|
|
|||||||||
|
Retourne le nombre d'élément du tableau size.
Définition à la ligne 199 du fichier Array.h. 00200 {
00201 return nbDatas;
00202 };
|
1.3.9.1