Base for lists with indirect addressing, templated on the list contents type and the addressing type. Storage for both values and addressing is held outside of the class. More...
#include <IndirectListBase.H>

Classes | |
| class | iterator |
| A non-const iterator for an indirect list. More... | |
| class | const_iterator |
| A const iterator for an indirect list. More... | |
Public Types | |
| typedef T | value_type |
| Type of values the list contains. | |
| typedef T * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const T * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef T & | reference |
| The type used for storing into value_type objects. | |
| typedef const T & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef label | size_type |
| The type to represent the size of a UList. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| typedef Addr | addressing_type |
| The addressing type (non-stl definition). | |
Public Member Functions | |
| IndirectListBase ()=delete | |
| No default construct. | |
| IndirectListBase (const UList< T > &values, const Addr &addr) | |
| Store references to the values list and the addressing array. | |
| bool | empty () const noexcept |
| True if the list is empty (ie, size() is zero). | |
| label | size () const noexcept |
| The number of elements in the list. | |
| const UList< T > & | values () const noexcept |
| The list of values (without addressing). | |
| UList< T > & | values () noexcept |
| The list of values (without addressing). | |
| const Addr & | addressing () const noexcept |
| The addressing used for the list. | |
| bool | uniform () const |
| True if all entries have identical values, and list is non-empty. | |
| const T & | front () const |
| The first element of the list. | |
| T & | front () |
| The first element of the list. | |
| const T & | back () const |
| The last element of the list. | |
| T & | back () |
| The last element of the list. | |
| label | fcIndex (const label i) const |
| The forward circular index. The next index in the list which returns to the first at the end of the list. | |
| label | rcIndex (const label i) const |
| The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. | |
| const T & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| T & | fcValue (const label i) |
| Return forward circular value (ie, next value in the list). | |
| const T & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| T & | rcValue (const label i) |
| Return reverse circular value (ie, previous value in the list). | |
| List< T > | list () const |
| Return the addressed elements as a List. | |
| bool | contains (const T &val, label pos=0, label len=-1) const |
| Is the value contained in the list? | |
| label | find (const T &val, label pos=0, label len=-1) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const T &val, label pos=-1) const |
| Find index of the last occurrence of the value. | |
| List< T > | operator() () const |
| Return the addressed elements as a List. | |
| T & | operator[] (const label i) |
| Non-const access to an element in the list. | |
| const T & | operator[] (const label i) const |
| Const access to an element in the list. | |
| void | operator= (const T &val) |
| Assign all addressed elements to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| void | operator= (const UList< T > &rhs) |
| Deep copy values from a list of the addressed elements. | |
| void | operator= (const IndirectListBase< T, Addr > &rhs) |
| Deep copy values from a list of the addressed elements. | |
| template<class AnyAddr> | |
| void | operator= (const IndirectListBase< T, AnyAddr > &rhs) |
| Deep copy values from a list of the addressed elements. | |
| iterator | begin () |
| Return an iterator at begin of list. | |
| iterator | end () |
| Return an iterator at end of list. | |
| const_iterator | cbegin () const |
| Return a const_iterator at begin of list. | |
| const_iterator | cend () const |
| Return a const_iterator at end of list. | |
| const_iterator | begin () const |
| Return a const_iterator at begin of list. | |
| const_iterator | end () const |
| Return a const_iterator at end of list. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write List, with line-breaks in ASCII when length exceeds shortLen. | |
| T & | first () |
| Access first element of the list, position [0]. | |
| const T & | first () const |
| Access first element of the list. | |
| T & | last () |
| Access last element of the list, position [size()-1]. | |
| const T & | last () const |
| Access last element of the list, position [size()-1]. | |
| bool | found (const T &val, label pos=0) const |
| Same as contains(). | |
Protected Member Functions | |
| template<class ListType> | |
| void | copyList (const ListType &rhs) |
| Deep copy values from the list. | |
Base for lists with indirect addressing, templated on the list contents type and the addressing type. Storage for both values and addressing is held outside of the class.
Definition at line 52 of file IndirectListBase.H.
| typedef T value_type |
Type of values the list contains.
Definition at line 85 of file IndirectListBase.H.
The pointer type for non-const access to value_type items.
Definition at line 90 of file IndirectListBase.H.
| typedef const T* const_pointer |
The pointer type for const access to value_type items.
Definition at line 95 of file IndirectListBase.H.
The type used for storing into value_type objects.
Definition at line 100 of file IndirectListBase.H.
| typedef const T& const_reference |
The type used for reading from constant value_type objects.
Definition at line 105 of file IndirectListBase.H.
The type to represent the size of a UList.
Definition at line 110 of file IndirectListBase.H.
| typedef label difference_type |
The difference between iterator objects.
Definition at line 115 of file IndirectListBase.H.
| typedef Addr addressing_type |
The addressing type (non-stl definition).
Definition at line 130 of file IndirectListBase.H.
|
delete |
No default construct.
References values().
Referenced by copyList(), operator=(), operator=(), UIndirectList< bool >::UIndirectList(), and writeList().


|
inline |
Store references to the values list and the addressing array.
Definition at line 57 of file IndirectListBaseI.H.
References Foam::T(), and values().

|
inlineprotected |
Deep copy values from the list.
Definition at line 25 of file IndirectListBaseI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, IndirectListBase(), and Foam::rhs().
Referenced by operator=(), operator=(), and operator=().


|
inlinenoexcept |
True if the list is empty (ie, size() is zero).
Definition at line 153 of file IndirectListBase.H.
References Foam::noexcept.
Referenced by List< CloudFunctionObject< CloudType > * >::resize_copy().

|
inlinenoexcept |
The number of elements in the list.
Definition at line 158 of file IndirectListBase.H.
References Foam::noexcept.
Referenced by UList< T >::deepCopy(), localPointRegion::findDuplicateFaces(), Foam::ensightOutput::Detail::getFaceSizes(), isoSurfaceTopo::isoSurfaceTopo(), List< T >::operator=(), PackedList< Width >::PackedList(), DynamicList< T, SizeMin >::push_back(), perfectInterface::setRefinement(), LLTMatrix< Type >::solve(), Foam::ListListOps::subSizes(), and uniform().

The list of values (without addressing).
Definition at line 163 of file IndirectListBase.H.
References Foam::noexcept.
Referenced by IndirectList< cell >::IndirectList(), IndirectList< cell >::IndirectList(), IndirectList< cell >::IndirectList(), IndirectListBase(), IndirectListBase(), IndirectList< cell >::subset(), IndirectList< cell >::subset(), IndirectList< cell >::subset_if(), IndirectList< cell >::subset_if(), UIndirectList< bool >::UIndirectList(), UIndirectList< bool >::UIndirectList(), and IndirectList< cell >::uniq().

The list of values (without addressing).
Definition at line 168 of file IndirectListBase.H.
References Foam::noexcept.
|
inlinenoexcept |
The addressing used for the list.
Definition at line 173 of file IndirectListBase.H.
References Foam::noexcept.
Referenced by cellDistFuncs::correctBoundaryCells(), and UIndirectList< bool >::UIndirectList().

|
inline |
True if all entries have identical values, and list is non-empty.
Definition at line 71 of file IndirectListBaseI.H.
References size().

The first element of the list.
Definition at line 121 of file IndirectListBaseI.H.
References Foam::T().
Referenced by first(), and first().


The first element of the list.
Definition at line 127 of file IndirectListBaseI.H.
References Foam::T().

The last element of the list.
Definition at line 134 of file IndirectListBaseI.H.
References Foam::T().
Referenced by last(), and last().


The last element of the list.
Definition at line 140 of file IndirectListBaseI.H.
References Foam::T().

|
inline |
The forward circular index. The next index in the list which returns to the first at the end of the list.
Definition at line 107 of file IndirectListBaseI.H.
Referenced by fcValue(), and fcValue().

|
inline |
The reverse circular index. The previous index in the list which returns to the last at the beginning of the list.
Definition at line 114 of file IndirectListBaseI.H.
Referenced by rcValue(), and rcValue().

Return forward circular value (ie, next value in the list).
Definition at line 147 of file IndirectListBaseI.H.
References fcIndex(), and Foam::T().

Return forward circular value (ie, next value in the list).
Definition at line 154 of file IndirectListBaseI.H.
References fcIndex(), and Foam::T().

Return reverse circular value (ie, previous value in the list).
Definition at line 161 of file IndirectListBaseI.H.
References rcIndex(), and Foam::T().

Return reverse circular value (ie, previous value in the list).
Definition at line 168 of file IndirectListBaseI.H.
References rcIndex(), and Foam::T().

|
inline |
Return the addressed elements as a List.
Definition at line 174 of file IndirectListBaseI.H.
References UList< T >::size().
Referenced by IndirectListBase< T, Addr >::const_iterator::const_iterator(), IndirectList< cell >::IndirectList(), IndirectList< cell >::IndirectList(), IndirectList< cell >::IndirectList(), IndirectListBase< T, Addr >::iterator::iterator(), operator()(), ensightFaces::sort(), UIndirectList< bool >::UIndirectList(), and writeList().


|
inline |
Is the value contained in the list?
| val | The value to search for |
| pos | The first position to examine (default: 0, no-op if -ve) |
| len | The length of the search region (-ve until the end) |
Definition at line 95 of file IndirectListBaseI.H.
References find(), Foam::pos(), and Foam::T().
Referenced by found().


| Foam::label find | ( | const T & | val, |
| label | pos = 0, | ||
| label | len = -1 ) const |
Find index of the first occurrence of the value.
| val | The value to search for |
| pos | The first position to examine (default: 0, no-op if -ve) |
| len | The length of the search region (-ve until the end) |
Definition at line 24 of file IndirectListBase.C.
References Foam::pos(), and Foam::T().
Referenced by contains(), and faMesh::whichFace().


Find index of the last occurrence of the value.
Any occurrences after the end pos are ignored. Linear search.
Definition at line 60 of file IndirectListBase.C.
References Foam::pos(), and Foam::T().

Return the addressed elements as a List.
Definition at line 276 of file IndirectListBase.H.
References list().

Non-const access to an element in the list.
Definition at line 193 of file IndirectListBaseI.H.
References Foam::T().

Const access to an element in the list.
Definition at line 201 of file IndirectListBaseI.H.
Assign all addressed elements to the given value.
Definition at line 208 of file IndirectListBaseI.H.
References Foam::T().

|
inline |
Assignment of all entries to zero.
Definition at line 219 of file IndirectListBaseI.H.
References Foam::Zero.
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 230 of file IndirectListBaseI.H.
References copyList(), and Foam::rhs().

|
inline |
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 240 of file IndirectListBaseI.H.
References copyList(), IndirectListBase(), and Foam::rhs().

|
inline |
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 251 of file IndirectListBaseI.H.
References copyList(), IndirectListBase(), and Foam::rhs().

Return an iterator at begin of list.
Definition at line 426 of file IndirectListBase.H.
Referenced by bitSet::bitSet(), bitSet::bitSet(), HashSet< Key, Hash >::HashSet(), HashSet< Key, HashType >::insert(), bitSet::set(), bitSet::unset(), and HashSet< Key, HashType >::unset().

Return an iterator at end of list.
Definition at line 434 of file IndirectListBase.H.
Referenced by bitSet::bitSet(), bitSet::bitSet(), HashSet< Key, Hash >::HashSet(), HashSet< Key, HashType >::insert(), bitSet::set(), bitSet::unset(), and HashSet< Key, HashType >::unset().

|
inline |
Return a const_iterator at begin of list.
Definition at line 445 of file IndirectListBase.H.
Referenced by begin().

|
inline |
Return a const_iterator at end of list.
Definition at line 453 of file IndirectListBase.H.
Referenced by end().

|
inline |
Return a const_iterator at begin of list.
Definition at line 461 of file IndirectListBase.H.
References cbegin().

|
inline |
Return a const_iterator at end of list.
Definition at line 466 of file IndirectListBase.H.
References cend().

| Foam::Ostream & writeList | ( | Ostream & | os, |
| const label | shortLen = 0 ) const |
Write List, with line-breaks in ASCII when length exceeds shortLen.
Using '0' suppresses line-breaks entirely.
Definition at line 29 of file IndirectListBaseIO.C.
References token::BEGIN_BLOCK, token::BEGIN_LIST, IOstreamOption::BINARY, token::END_BLOCK, token::END_LIST, FUNCTION_NAME, IndirectListBase(), Foam::is_contiguous_v, list(), Foam::nl, os(), token::SPACE, and Foam::T().
Referenced by Foam::operator<<().


Access first element of the list, position [0].
FOAM_DEPRECATED_FOR(2022-10, "front()")
Definition at line 486 of file IndirectListBase.H.
References front(), and Foam::T().
Referenced by DarcyForchheimer::calcTransformModelData().


Access first element of the list.
FOAM_DEPRECATED_FOR(2022-10, "front()")
Definition at line 493 of file IndirectListBase.H.
References front(), and Foam::T().

Access last element of the list, position [size()-1].
FOAM_DEPRECATED_FOR(2022-10, "back()")
Definition at line 500 of file IndirectListBase.H.
References back(), and Foam::T().
Referenced by SprayCloud< CloudType >::penetration().


Access last element of the list, position [size()-1].
FOAM_DEPRECATED_FOR(2022-10, "back()")
Definition at line 507 of file IndirectListBase.H.
References back(), and Foam::T().

Same as contains().
Definition at line 512 of file IndirectListBase.H.
References contains(), Foam::pos(), and Foam::T().
Referenced by processorColour::colour().

