#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 };
|