36 #ifndef DynamicField_H
37 #define DynamicField_H
41 #include <type_traits>
50 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
57 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
69 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
76 (SizeInc || SizeMult) && SizeDiv,
77 "Avoid invalid sizing parameters"
93 return *reinterpret_cast
219 inline void operator=
225 inline void operator=
240 friend Ostream& operator<< <T, SizeInc, SizeMult, SizeDiv>
247 friend Istream&
operator>> <
T, SizeInc, SizeMult, SizeDiv>
T remove()
Remove and return the top element.
DynamicField< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
void setCapacity(const label)
Alter the size of the underlying storage.
void resize(const label)
Alter the addressed list size.
tmp< DynamicField< T, SizeInc, SizeMult, SizeDiv > > clone() const
Clone.
label capacity() const
Size of the underlying storage.
DynamicField()
Construct null.
DynamicField< T, SizeInc, SizeMult, SizeDiv > & shrink()
Shrink the allocated space to the number of elements used.
void operator=(const T &)
Assignment of all addressed entries to the given value.
void reserve(const label)
Reserve allocation space for at least this size.
void clearStorage()
Clear the list and delete storage.
T & operator()(const label)
Return non-const access to an element, resizing list if.
void clear()
Clear the addressed list, i.e. set the size to zero.
void setSize(const label)
Alter the addressed list size.
Pre-declare SubField and related Field type.
tmp< Field< T > > T() const
Return the field transpose (only defined for second rank tensors)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A class for managing temporary objects.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.