A List obtained as a section of another List. More...
Public Member Functions | |
SubList () noexcept=default | |
Default construct, zero-sized and nullptr. More... | |
SubList (const SubList &) noexcept=default | |
Copy construct, shallow copy. More... | |
SubList (const UList< T > &list) | |
Construct from UList, the entire size. More... | |
template<unsigned N> | |
SubList (const FixedList< T, N > &list) | |
Construct from FixedList, the entire size. More... | |
SubList (const UList< T > &list, const label subSize) | |
Construct from UList and sub-list size, start at 0. More... | |
SubList (const UList< T > &list, const label subSize, const label startIndex) | |
Construct from UList, sub-list size and start index. More... | |
SubList (const UList< T > &list, const labelRange &range) | |
Construct from UList and a (start,size) range. More... | |
SubList (const labelRange &range, const UList< T > &list) | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const SubList< T > &list) |
Copy assign entries from given sub-list. Sizes must match! More... | |
void | operator= (const UList< T > &list) |
Copy assign entries from given list. Sizes must match! More... | |
template<class Addr > | |
void | operator= (const IndirectListBase< T, Addr > &list) |
Copy assign entries from given indirect list. Sizes must match! More... | |
void | operator= (const T &val) |
Assign all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assign all entries to zero. More... | |
![]() | |
UList (const UList< T > &)=default | |
Copy construct. More... | |
constexpr | UList () noexcept |
Default construct, zero-sized and nullptr. More... | |
UList (T *__restrict__ v, const label len) noexcept | |
Construct from components. More... | |
label | fcIndex (const label i) const noexcept |
label | rcIndex (const label i) const noexcept |
const T & | fcValue (const label i) const |
Return forward circular value (ie, next value in the list) More... | |
T & | fcValue (const label i) |
Return forward circular value (ie, next value in the list) More... | |
const T & | rcValue (const label i) const |
Return reverse circular value (ie, previous value in the list) More... | |
T & | rcValue (const label i) |
Return reverse circular value (ie, previous value in the list) More... | |
const T * | cdata () const noexcept |
Return pointer to the underlying array serving as data storage. More... | |
T * | data () noexcept |
Return pointer to the underlying array serving as data storage. More... | |
const char * | cdata_bytes () const noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
char * | data_bytes () noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
T & | first () |
Return the first element of the list. More... | |
const T & | first () const |
Return first element of the list. More... | |
T & | last () |
Return the last element of the list. More... | |
const T & | last () const |
Return the last element of the list. More... | |
std::streamsize | size_bytes () const noexcept |
Number of contiguous bytes for the List data. More... | |
std::streamsize | byteSize () const |
void | checkStart (const label start) const |
Check start is within valid range [0,size) More... | |
void | checkSize (const label size) const |
Check size is within valid range [0,size]. More... | |
void | checkRange (const label start, const label len) const |
Check that start and length define a valid range. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
label | find (const T &val, label pos=0) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const T &val, label pos=-1) const |
Find index of the last occurrence of the value. More... | |
bool | found (const T &val, label pos=0) const |
True if the value if found in the list. More... | |
void | moveFirst (const label i) |
Move element to the first position. More... | |
void | moveLast (const label i) |
Move element to the last position. More... | |
void | swapFirst (const label i) |
Swap element with the first element. Fatal on an empty list. More... | |
void | swapLast (const label i) |
Swap element with the last element. Fatal on an empty list. More... | |
void | shallowCopy (const UList< T > &list) |
Copy the pointer and size held by the given UList. More... | |
void | deepCopy (const UList< T > &list) |
Copy elements of the given UList. Sizes must match! More... | |
template<class Addr > | |
void | deepCopy (const IndirectListBase< T, Addr > &list) |
Copy elements of the given indirect list. Sizes must match! More... | |
SubList< T > | slice (const label pos, label len=-1) |
Return SubList slice (non-const access) - no range checking. More... | |
const SubList< T > | slice (const label pos, label len=-1) const |
Return SubList slice (const access) - no range checking. More... | |
SubList< T > | slice (const labelRange &range) |
Return SubList slice (non-const access) - with range checking. More... | |
const SubList< T > | slice (const labelRange &range) const |
Return SubList slice (const access) - with range checking. More... | |
T & | operator[] (const label i) |
Return element of UList. More... | |
const T & | operator[] (const label i) const |
Return element of constant UList. More... | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const T &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
iterator | begin () noexcept |
Return an iterator to begin traversing the UList. More... | |
iterator | end () noexcept |
Return an iterator to end traversing the UList. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. More... | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
label | size () const noexcept |
The number of elements in the UList. More... | |
bool | empty () const noexcept |
True if the UList is empty (ie, size() is zero) More... | |
void | swap (UList< T > &list) |
Swap content with another UList of the same type in constant time. More... | |
bool | operator== (const UList< T > &a) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &a) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &a) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &a) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &a) const |
Return true if !(a < b). Takes linear time. More... | |
Istream & | readList (Istream &is) |
Read List contents from Istream. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write the List as a dictionary entry with keyword. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | test (const label i) const |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | get (const label i) const |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | unset (const label i) |
Istream & | readList (Istream &is) |
Ostream & | writeList (Ostream &os, const label) const |
const bool & | operator[] (const label i) const |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
UPstream::commsStruct & | operator[] (const label procID) |
const UPstream::commsStruct & | operator[] (const label procID) const |
Ostream & | writeList (Ostream &os, const label) const |
Istream & | readList (Istream &is) |
Static Public Member Functions | |
static const SubList< T > & | null () |
Return a null SubList. More... | |
![]() | |
static const UList< T > & | null () |
Return a UList reference to a nullObject. More... | |
static constexpr label | max_size () noexcept |
The size of the largest possible UList. More... | |
Additional Inherited Members | |
![]() | |
typedef T | value_type |
The value type the list contains. More... | |
typedef T * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef const T * | const_pointer |
The pointer type for const access to value_type items. More... | |
typedef T & | reference |
The type used for storing into value_type objects. More... | |
typedef const T & | const_reference |
The type used for reading from constant value_type objects. More... | |
typedef T * | iterator |
Random access iterator for traversing a UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing a UList. More... | |
typedef label | size_type |
The type to represent the size of a UList. More... | |
typedef label | difference_type |
The difference between iterator objects. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator (const access) More... | |
![]() | |
void | setAddressableSize (const label n) noexcept |
Set addressed size to be inconsistent with allocated storage. More... | |
void | size (const label n) |
Older name for setAddressableSize. More... | |
void | writeEntry (Ostream &os) const |
Write the UList with its compound type. More... | |
labelRange | validateRange (const labelRange &requestedRange) const |
UList< T > & | operator= (const UList< T > &)=delete |
No copy assignment (default: shallow copy) More... | |
void | writeEntry (Ostream &os) const |
void | writeEntry (Ostream &os) const |
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.
|
defaultnoexcept |
Default construct, zero-sized and nullptr.
Construct from UList, the entire size.
Definition at line 34 of file SubListI.H.
Construct from FixedList, the entire size.
Definition at line 45 of file SubListI.H.
Construct from UList and sub-list size, start at 0.
Definition at line 55 of file SubListI.H.
References UList< T >::checkSize().
Construct from UList, sub-list size and start index.
Definition at line 70 of file SubListI.H.
|
inline |
Construct from UList and a (start,size) range.
The range is subsetted with the list size itself to ensure that the result always addresses a valid section of the list.
Definition at line 86 of file SubListI.H.
|
inline |
Construct from UList and a (start,size) range, but bypassing run-time range checking.
Definition at line 103 of file SubListI.H.
|
inlinestatic |
Return a null SubList.
Definition at line 116 of file SubListI.H.
|
inline |
Allow cast to a const List<T>&.
Definition at line 125 of file SubListI.H.
Copy assign entries from given sub-list. Sizes must match!
Definition at line 132 of file SubListI.H.
Referenced by SubField< Type >::operator=().
Copy assign entries from given list. Sizes must match!
Definition at line 139 of file SubListI.H.
|
inline |
Copy assign entries from given indirect list. Sizes must match!
Definition at line 147 of file SubListI.H.
|
inline |
Assign all entries to the given value.
Definition at line 154 of file SubListI.H.
|
inline |
Assign all entries to zero.
Definition at line 161 of file SubListI.H.