A dynamically resizable PtrList with allocation management. More...
Public Member Functions | |
constexpr | PtrDynList () noexcept |
Construct null. More... | |
PtrDynList (const label len) | |
Construct with given capacity. More... | |
PtrDynList (const PtrDynList< T, SizeMin > &list) | |
Copy construct using 'clone()' method on each element. More... | |
PtrDynList (PtrDynList< T, SizeMin > &&list) | |
Move construct. More... | |
PtrDynList (UList< T * > &list) | |
Take ownerskip of pointers in the list, set old pointers to null. More... | |
~PtrDynList ()=default | |
Destructor. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
void | setCapacity (const label nElem) |
Alter the size of the underlying storage. More... | |
void | resize (const label newLen) |
Alter the addressed list size. More... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | reserve (const label nElem) |
Reserve allocation space for at least this size. More... | |
void | clear () |
Clear the addressed list, i.e. set the size to zero. More... | |
void | clearStorage () |
Clear the list and delete storage. More... | |
label | expandStorage () |
Expand the addressable size to fit the allocated capacity. More... | |
void | shrink () |
Shrink the allocated space to the number of elements used. More... | |
label | squeezeNull () |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (const autoPtr< T > &aptr) |
Move append an element to the end of the list. More... | |
void | append (const tmp< T > &tptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (PtrList< T > &&other) |
Move append another list to the end of this list. More... | |
template<int AnySizeMin> | |
void | append (PtrDynList< T, AnySizeMin > &&other) |
Move append another list to the end of this list. More... | |
autoPtr< T > | remove () |
Remove and return the top element. More... | |
const T * | set (const label i) const |
Return const pointer to element (if set) or nullptr. More... | |
autoPtr< T > | set (const label i, T *ptr) |
Set element to given pointer and return old element (can be null) More... | |
autoPtr< T > | set (const label i, const autoPtr< T > &aptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< T > | set (const label i, const tmp< T > &tptr) |
Set element to given tmp and return old element. More... | |
void | reorder (const labelUList &oldToNew) |
Reorder elements. Reordering must be unique (ie, shuffle). More... | |
void | operator= (const PtrList< T > &list) |
Copy (clone) assignment. More... | |
void | operator= (const PtrDynList< T, SizeMin > &list) |
Copy (clone) assignment. More... | |
template<int AnySizeMin> | |
void | operator= (const PtrDynList< T, AnySizeMin > &list) |
Copy (clone) assignment with different sizing parameters. More... | |
void | operator= (PtrList< T > &&list) |
Move assignment. More... | |
void | operator= (PtrDynList< T, SizeMin > &&list) |
Move assignment. More... | |
template<int AnySizeMin> | |
void | operator= (PtrDynList< T, AnySizeMin > &&list) |
Move assignment with different sizing parameters. More... | |
A dynamically resizable PtrList with allocation management.
Definition at line 53 of file PtrDynList.H.
|
inlineconstexprnoexcept |
Construct null.
Definition at line 43 of file PtrDynListI.H.
|
inlineexplicit |
Construct with given capacity.
Definition at line 51 of file PtrDynListI.H.
|
inline |
Copy construct using 'clone()' method on each element.
Definition at line 62 of file PtrDynListI.H.
|
inline |
Move construct.
Definition at line 73 of file PtrDynListI.H.
|
inlineexplicit |
Take ownerskip of pointers in the list, set old pointers to null.
Definition at line 85 of file PtrDynListI.H.
|
default |
Destructor.
|
inlinenoexcept |
Size of the underlying storage.
Definition at line 95 of file PtrDynListI.H.
Referenced by PtrDynList< Foam::profilingInformation >::operator=().
|
inline |
Alter the size of the underlying storage.
Definition at line 102 of file PtrDynListI.H.
|
inline |
Alter the addressed list size.
Definition at line 136 of file PtrDynListI.H.
|
inline |
Same as resize()
Definition at line 170 of file PtrDynListI.H.
|
inline |
Reserve allocation space for at least this size.
Never shrinks the allocated size, use setCapacity() for that.
Definition at line 119 of file PtrDynListI.H.
|
inline |
Clear the addressed list, i.e. set the size to zero.
Allocated size does not change
Definition at line 177 of file PtrDynListI.H.
|
inline |
Clear the list and delete storage.
Definition at line 185 of file PtrDynListI.H.
Referenced by PtrDynList< Foam::profilingInformation >::operator=(), and PtrDynList< Foam::profilingInformation >::PtrDynList().
|
inline |
Expand the addressable size to fit the allocated capacity.
Returns the previous addressable size.
Definition at line 193 of file PtrDynListI.H.
|
inline |
Shrink the allocated space to the number of elements used.
Definition at line 205 of file PtrDynListI.H.
|
inline |
Squeeze out intermediate nullptr entries in the list of pointers and adjust the addressable size accordingly.
Definition at line 222 of file PtrDynListI.H.
|
inline |
Append an element to the end of the list.
Definition at line 231 of file PtrDynListI.H.
Move append an element to the end of the list.
Definition at line 240 of file PtrDynListI.H.
Move or clone append a tmp to the end of the list.
Definition at line 247 of file PtrDynListI.H.
Move append another list to the end of this list.
Definition at line 254 of file PtrDynListI.H.
|
inline |
Move append another list to the end of this list.
Definition at line 273 of file PtrDynListI.H.
|
inline |
Remove and return the top element.
Definition at line 292 of file PtrDynListI.H.
|
inline |
Return const pointer to element (if set) or nullptr.
The return value can be tested as a bool.
Definition at line 311 of file PtrDynListI.H.
|
inline |
Set element to given pointer and return old element (can be null)
Definition at line 319 of file PtrDynListI.H.
|
inline |
Set element to given autoPtr and return old element.
Definition at line 335 of file PtrDynListI.H.
|
inline |
Set element to given tmp and return old element.
Definition at line 346 of file PtrDynListI.H.
|
inline |
Reorder elements. Reordering must be unique (ie, shuffle).
Definition at line 356 of file PtrDynListI.H.
Copy (clone) assignment.
Definition at line 368 of file PtrDynListI.H.
|
inline |
Copy (clone) assignment.
Definition at line 384 of file PtrDynListI.H.
|
inline |
Copy (clone) assignment with different sizing parameters.
Definition at line 401 of file PtrDynListI.H.
Move assignment.
Definition at line 417 of file PtrDynListI.H.
|
inline |
Move assignment.
Definition at line 434 of file PtrDynListI.H.
|
inline |
Move assignment with different sizing parameters.
Definition at line 452 of file PtrDynListI.H.