40 ptrs_(s, reinterpret_cast<
T*>(0))
63 label oldSize = size();
69 else if (newSize < oldSize)
71 ptrs_.setSize(newSize);
73 else if (newSize > oldSize)
75 ptrs_.setSize(newSize);
78 for (
label i=oldSize; i<newSize; i++)
96 ptrs_.transfer(a.ptrs_);
103 if (oldToNew.
size() != size())
106 <<
"Size of map (" << oldToNew.
size()
107 <<
") not equal to list size (" << size()
111 List<T*> newPtrs_(ptrs_.size(),
reinterpret_cast<T*
>(0));
115 label newI = oldToNew[i];
117 if (newI < 0 || newI >= size())
120 <<
"Illegal index " << newI <<
nl 121 <<
"Valid indices are 0.." << size()-1
128 <<
"reorder map is not unique; element " << newI
131 newPtrs_[newI] = ptrs_[i];
139 <<
"Element " << i <<
" not set after reordering." <<
nl 144 ptrs_.transfer(newPtrs_);
A simple container for copying or transferring objects of type <T>.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
UPtrList()
Null Constructor.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
void setSize(const label)
Reset size of UPtrList. This can only be used to set the size.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
errorManip< error > abort(error &err)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void transfer(UPtrList< T > &)
Transfer the contents of the argument UPtrList into this.
void clear()
Clear the UPtrList, i.e. set size to zero.
label size() const
Return the number of elements in the UList.
void reorder(const labelUList &)
Reorders elements. Ordering does not have to be done in.