47 #include <type_traits> 56 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
59 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
65 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
77 template<
class T,
unsigned SizeInc=0,
unsigned SizeMult=2,
unsigned SizeDiv=1>
84 (SizeInc || SizeMult) && SizeDiv,
85 "Invalid sizing parameters" 221 inline void operator=
243 friend Ostream& operator<< <T, SizeInc, SizeMult, SizeDiv>
250 friend Istream&
operator>> <
T, SizeInc, SizeMult, SizeDiv>
A simple container for copying or transferring objects of type <T>.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
T & operator()(const label)
Return non-const access to an element, resizing list if.
void resize(const label)
Alter the addressed list size.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
UList< T >::iterator erase(typename UList< T >::iterator)
Erase an element, move the remaining elements to fill the gap.
T * iterator
Random access iterator for traversing UList.
void reserve(const label)
Reserve allocation space for at least this size.
void setSize(const label)
Alter the addressed list size.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
DynamicList()
Construct null.
void setCapacity(const label)
Alter the size of the underlying storage.
Xfer< List< T > > xfer()
Transfer contents to the Xfer container as a plain List.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
DynamicList< T, SizeInc, SizeMult, SizeDiv > & shrink()
Shrink the allocated space to the number of elements used.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
label capacity() const
Size of the underlying storage.
A List with indirect addressing.
void clearStorage()
Clear the list and delete storage.
void clear()
Clear the addressed list, i.e. set the size to zero.
void transfer(List< T > &)
Transfer contents of the argument List into this.
void operator=(const T &)
Assignment of all addressed entries to the given value.