65 label oldSize = size();
71 else if (newSize < oldSize)
73 ptrs_.setSize(newSize);
75 else if (newSize > oldSize)
77 ptrs_.setSize(newSize);
80 for (
register label i=oldSize; i<newSize; i++)
107 if (oldToNew.
size() != size())
109 FatalErrorIn(
"UPtrList<T>::reorder(const UList<label>&)")
110 <<
"Size of map (" << oldToNew.
size()
111 <<
") not equal to list size (" << size()
115 List<T*> newPtrs_(ptrs_.size(),
reinterpret_cast<T*
>(0));
119 label newI = oldToNew[i];
121 if (newI < 0 || newI >= size())
123 FatalErrorIn(
"UPtrList<T>::reorder(const UList<label>&)")
124 <<
"Illegal index " << newI <<
nl
125 <<
"Valid indices are 0.." << size()-1
131 FatalErrorIn(
"UPtrList<T>::reorder(const UList<label>&)")
132 <<
"reorder map is not unique; element " << newI
135 newPtrs_[newI] = ptrs_[i];
142 FatalErrorIn(
"UPtrList<T>::reorder(const UList<label>&)")
143 <<
"Element " << i <<
" not set after reordering." <<
nl
148 ptrs_.transfer(newPtrs_);