A List obtained as a section of another List. More...
#include <OpenFOAM/SubList.H>
A List obtained as a section of another List.
Since the SubList is itself unallocated, no storage is allocated or de-allocated during its use. To achieve this behaviour, SubList is derived from UList rather than List.
Public Member Functions | |
SubList (const UList< T > &list, const label subSize) | |
Construct from UList and sub-list size. | |
SubList (const UList< T > &list, const label subSize, const label startIndex) | |
Construct from UList, sub-list size and start index. | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. | |
void | operator= (const T &) |
Assignment of all entries to the given value. | |
![]() | |
UList () | |
Null constructor. | |
UList (T *__restrict__ v, label size) | |
Construct from components. | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. | |
label | byteSize () const |
Return the binary size in number of characters of the UList. | |
const T * | cdata () const |
Return a const pointer to the first data element,. | |
T * | data () |
Return a pointer to the first data element,. | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1). | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size). | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1). | |
void | writeEntry (Ostream &) const |
Write the UList as a dictionary entry. | |
void | writeEntry (const word &keyword, Ostream &) const |
Write the UList as a dictionary entry with keyword. | |
void | assign (const UList< T > &) |
Assign elements to those from UList. | |
T & | operator[] (const label) |
Return element of UList. | |
const T & | operator[] (const label) const |
Return element of constant UList. | |
iterator | begin () |
Return an iterator to begin traversing the UList. | |
iterator | end () |
Return an iterator to end traversing the UList. | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. | |
const_iterator | end () const |
Return const_iterator to end traversing the constant UList. | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
label | size () const |
Return the number of elements in the UList. | |
label | max_size () const |
Return size of the largest possible UList. | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero). | |
void | swap (UList< T > &) |
Swap two ULists of the same type in constant time. | |
bool | operator== (const UList< T > &) const |
Equality operation on ULists of the same type. | |
bool | operator!= (const UList< T > &) const |
The opposite of the equality operation. Takes linear time. | |
bool | operator< (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator> (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator<= (const UList< T > &) const |
Return true if !(a > b). Takes linear time. | |
bool | operator>= (const UList< T > &) const |
Return true if !(a < b). Takes linear time. | |
template<> | |
const bool & | operator[] (const label i) const |
Static Public Member Functions | |
static const SubList< T > & | null () |
Return a null SubList. |
Additional Inherited Members | |
![]() | |
typedef T | value_type |
Type of values the UList contains. | |
typedef T & | reference |
Type that can be used for storing into. | |
typedef const T & | const_reference |
Type that can be used for storing into. | |
typedef label | difference_type |
The type that can represent the difference between any two. | |
typedef label | size_type |
The type that can represent the size of a UList. | |
typedef T * | iterator |
Random access iterator for traversing UList. | |
typedef const T * | const_iterator |
Random access iterator for traversing UList. | |
typedef T * | reverse_iterator |
Reverse iterator for reverse traversal of UList. | |
typedef const T * | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. |
Construct from UList and sub-list size.
Definition at line 30 of file SubListI.H.
References UList< T >::checkSize().
Construct from UList, sub-list size and start index.
Definition at line 45 of file SubListI.H.
References UList< T >::checkSize(), and UList< T >::checkStart().
|
inlinestatic |
Return a null SubList.
Reimplemented from UList< T >.
Reimplemented in SubDimensionedField< Type, GeoMesh >, SubField< Type >, and SubField< point >.
Definition at line 75 of file SubListI.H.
|
inline |
Allow cast to a const List<T>&.
Reimplemented from UList< T >.
Definition at line 84 of file SubListI.H.
Assignment of all entries to the given value.
Reimplemented from UList< T >.
Definition at line 91 of file SubListI.H.