#include <contener_array.h>
Inheritance diagram for ContenerTableau< T >:


Public Member Functions | |
| void | Ajouter (T &el) |
| add a particular item | |
| ContenerTableau () | |
| void | Empty () |
| function that clear the contener | |
| T & | Get (unsigned int index) |
| get an item from its index | |
| IteratorTableau< T > & | GetIterator () |
| return an associated iterator | |
| unsigned int | nbElem () |
| return the number of contained items | |
| int | Recherche (T &el) |
| search for a given item | |
| void | Retirer (int index) |
| remove an item from its index | |
| void | Tri () |
| sort items | |
| ~ContenerTableau () | |
Protected Member Functions | |
| void | Resize (int taille) |
| resize the array | |
Protected Attributes | |
| T | NULL_ELEM |
| pointer to unique undefined item | |
| std::vector< T * > | tableau |
| internal array | |
Friends | |
| class | IteratorTableau< T > |
| iterator needs a privileged access | |
Definition at line 57 of file contener_array.h.
| ContenerTableau< T >::ContenerTableau | ( | ) | [inline] |
Definition at line 62 of file contener_array.h.
00062 : 00063 Contener<T,Iterator<T,IteratorTableau<T> > >() 00064 { 00065 // NULL_ELEM = NULL; 00066 tableau.reserve(MIN_SIZE); 00067 memset(&tableau[0],0,sizeof(T*)*MIN_SIZE); 00068 };
| ContenerTableau< T >::~ContenerTableau | ( | ) | [inline] |
| void ContenerTableau< T >::Ajouter | ( | T & | el | ) | [inline, virtual] |
add a particular item
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 136 of file contener_array.h.
References ContenerTableau< T >::Resize(), and ContenerTableau< T >::tableau.
Referenced by Bridging< DomainA, DomainC, Dim, Pond >::BuildAtomsWeight(), Bridging< DomainA, DomainC, Dim, Pond >::BuildContinuWeight(), Bridging< DomainA, DomainC, Dim, Pond >::filterContener(), Bridging< DomainA, DomainC, Dim, Pond >::filterContenerElemsAndNodes(), and BridgingPar< DomainA, DomainC, Dim, Pond >::UnfragmentContener().
00136 { 00137 /* if (taille >= taille_max) 00138 Resize(taille*2);*/ 00139 if (tableau.capacity() == tableau.size()) Resize(tableau.size()*2); 00140 T * temp = new T(el); 00141 tableau.push_back(temp); 00142 00143 00144 // tableau[taille] = new T(el); 00145 //taille ++; 00146 }
Here is the call graph for this function:

| void ContenerTableau< T >::Empty | ( | ) | [inline] |
function that clear the contener
Definition at line 114 of file contener_array.h.
References ContenerTableau< T >::nbElem(), and ContenerTableau< T >::tableau.
Referenced by Bridging< DomainA, DomainC, Dim, Pond >::filterContener(), Bridging< DomainA, DomainC, Dim, Pond >::filterContenerElemsAndNodes(), BridgingPar< DomainA, DomainC, Dim, Pond >::UnfragmentContener(), and ContenerTableau< RefElt >::~ContenerTableau().
00114 { 00115 00116 for (unsigned int i=0; i < nbElem() ;++i) 00117 delete tableau[i]; 00118 00119 tableau.clear(); 00120 /* taille = 0;*/ 00121 }
Here is the call graph for this function:

| T & ContenerTableau< T >::Get | ( | unsigned int | index | ) | [inline, virtual] |
get an item from its index
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 149 of file contener_array.h.
References FATAL, ContenerTableau< T >::nbElem(), and ContenerTableau< T >::tableau.
Referenced by MyMethodFull< DomainA, DomainC, Dim >::ApplyCorrection(), BelytschkoFull< DomainA, DomainC, Dim >::ApplyCorrection(), LeastSquare< DomainA, DomainC, Dim >::BuildAtomsRHS(), MyMethodFull< DomainA, DomainC, Dim >::BuildConstraintMatrix(), BelytschkoFull< DomainA, DomainC, Dim >::BuildConstraintMatrix(), Bridging< DomainA, DomainC, Dim, Pond >::BuildFictifsPositions(), Bridging< DomainA, DomainC, Dim, Pond >::BuildPositions(), MyMethodFull< DomainA, DomainC, Dim >::BuildRHS(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrix(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrixFictifs(), Bridging< DomainA, DomainC, Dim, Pond >::DumpDistance(), Bridging< DomainA, DomainC, Dim, Pond >::filterContener(), Bridging< DomainA, DomainC, Dim, Pond >::filterContenerElemsAndNodes(), and BridgingPar< DomainA, DomainC, Dim, Pond >::UnfragmentContener().
00149 { 00150 if (index >= 0 && index < nbElem()) 00151 return *tableau[index]; 00152 else 00153 FATAL("out of range access"); 00154 //return NULL_ELEM; 00155 }
Here is the call graph for this function:

| IteratorTableau< T > & ContenerTableau< T >::GetIterator | ( | ) | [inline, virtual] |
return an associated iterator
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 169 of file contener_array.h.
Referenced by FormeFaible< DomainA, DomainC, Dim >::ApplyAtomsCorrection(), FormeFaible< DomainA, DomainC, Dim >::BuildAtomsRHS(), Bridging< DomainA, DomainC, Dim, Pond >::BuildAtomsWeight(), BelytschkoFull< DomainA, DomainC, Dim >::BuildConstraintMatrix(), FormeFaible< DomainA, DomainC, Dim >::BuildContinuConstraintMatrix(), LeastSquare< DomainA, DomainC, Dim >::BuildLeastSquareRHS(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrix(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrixFictifs(), BridgingPar< DomainA, DomainC, Dim, Pond >::CorrectSurfaceEffect(), Bridging< DomainA, DomainC, Dim, Pond >::CorrectSurfaceEffect(), FormeFaible< DomainA, DomainC, Dim >::CorrectWeights(), BelytschkoFull< DomainA, DomainC, Dim >::CorrectWeights(), LeastSquare< DomainA, DomainC, Dim >::CorrigeAtoms(), and Bridging< DomainA, DomainC, Dim, Pond >::Dump().
00169 { 00170 return *(new IteratorTableau<T>(*this)); 00171 }
| unsigned int ContenerTableau< T >::nbElem | ( | ) | [inline, virtual] |
return the number of contained items
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 109 of file contener_array.h.
References ContenerTableau< T >::tableau.
Referenced by MyMethodFull< DomainA, DomainC, Dim >::ApplyCorrection(), LeastSquare< DomainA, DomainC, Dim >::BuildAtomsRHS(), Bridging< DomainA, DomainC, Dim, Pond >::BuildAtomsWeight(), MyMethodFull< DomainA, DomainC, Dim >::BuildConstraintMatrix(), Bridging< DomainA, DomainC, Dim, Pond >::BuildContinuWeight(), Bridging< DomainA, DomainC, Dim, Pond >::BuildFictifsPositions(), Bridging< DomainA, DomainC, Dim, Pond >::BuildPositions(), MyMethodFull< DomainA, DomainC, Dim >::BuildRHS(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrix(), Bridging< DomainA, DomainC, Dim, Pond >::BuildShapeMatrixFictifs(), ContenerTableauRefAtome< RefAtom >::compute_global_size(), Bridging< DomainA, DomainC, Dim, Pond >::CorrectSurfaceEffect(), FormeFaible< DomainA, DomainC, Dim >::CorrectWeights(), BelytschkoFull< DomainA, DomainC, Dim >::CorrectWeights(), Bridging< DomainA, DomainC, Dim, Pond >::Dump(), Bridging< DomainA, DomainC, Dim, Pond >::DumpDistance(), ContenerTableau< T >::Empty(), Bridging< DomainA, DomainC, Dim, Pond >::filterContener(), Bridging< DomainA, DomainC, Dim, Pond >::filterContenerElemsAndNodes(), BridgingPar< DomainA, DomainC, Dim, Pond >::GenerateCommunicationScheme(), ContenerTableau< T >::Get(), MyMethodFull< DomainA, DomainC, Dim >::Init(), LeastSquare< DomainA, DomainC, Dim >::Init(), BelytschkoFull< DomainA, DomainC, Dim >::Init(), Belytschko< DomainA, DomainC, Dim >::Init(), IteratorTableau< RefElt >::IteratorTableau(), FiltreAtom< Domain, Dim >::nbDofs(), FiltreMesh< Domain, Dim >::nbElems(), FiltreMesh< Domain, Dim >::nbNodes(), ContenerTableau< T >::Recherche(), MyMethodFull< DomainA, DomainC, Dim >::SolveConstraint(), BelytschkoPar< DomainA, DomainC, Dim >::Stucking(), Belytschko< DomainA, DomainC, Dim >::Stucking(), and BridgingPar< DomainA, DomainC, Dim, Pond >::UnfragmentContener().
00109 { 00110 return tableau.size(); 00111 }
| int ContenerTableau< T >::Recherche | ( | T & | el | ) | [inline, virtual] |
search for a given item
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 158 of file contener_array.h.
References ContenerTableau< T >::nbElem(), and ContenerTableau< T >::tableau.
Referenced by FiltreMesh< Domain, Dim >::LocalIndexes().
00158 { 00159 for (unsigned int i = 0 ; i < nbElem() ; ++i) 00160 { 00161 T * e = tableau[i]; 00162 if (el == *e) 00163 return i; 00164 } 00165 return -1; 00166 }
Here is the call graph for this function:

| void ContenerTableau< T >::Resize | ( | int | taille | ) | [inline, protected] |
resize the array
Definition at line 124 of file contener_array.h.
References ContenerTableau< T >::tableau.
Referenced by ContenerTableau< T >::Ajouter().
00124 { 00125 /* T ** temp = new T*[t]; 00126 memcpy(temp,tableau,taille_max*sizeof(T*)); 00127 for (int i = 0; i < taille_max ; ++i) 00128 temp[i] = tableau[i]; 00129 delete [] tableau; 00130 tableau = temp; 00131 taille_max = t;*/ 00132 tableau.reserve(t); 00133 }
| void ContenerTableau< T >::Retirer | ( | int | index | ) | [inline, virtual] |
remove an item from its index
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 182 of file contener_array.h.
| void ContenerTableau< T >::Tri | ( | ) | [inline, virtual] |
sort items
Implements Contener< T, Iterator< T, IteratorTableau< T > > >.
Definition at line 174 of file contener_array.h.
friend class IteratorTableau< T > [friend] |
T ContenerTableau< T >::NULL_ELEM [protected] |
std::vector<T*> ContenerTableau< T >::tableau [protected] |
internal array
Definition at line 101 of file contener_array.h.
Referenced by ContenerTableau< T >::Ajouter(), ContenerTableau< RefElt >::ContenerTableau(), ContenerTableau< T >::Empty(), ContenerTableau< T >::Get(), ContenerTableau< T >::nbElem(), ContenerTableau< T >::Recherche(), and ContenerTableau< T >::Resize().
1.5.2