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...
Classes | |
class | const_iterator |
A const iterator for an indirect list. More... | |
class | iterator |
A non-const iterator for an indirect list. More... | |
Public Types | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef T & | reference |
The type used for storing into value_type objects. 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 Addr | addressing_type |
The addressing type (non-stl definition) More... | |
Public Member Functions | |
IndirectListBase ()=delete | |
No null construct. More... | |
IndirectListBase (const UList< T > &values, const Addr &addr) | |
Store references to the values list and the addressing array. More... | |
label | size () const |
The number of elements in the list. More... | |
bool | empty () const |
True if the list is empty (ie, size() is zero). More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
T & | first () |
The first element of the list. More... | |
const T & | first () const |
The first element of the list. More... | |
T & | last () |
The last element of the list. More... | |
const T & | last () const |
The last element of the list. More... | |
const UList< T > & | values () const |
The list of values (without addressing) More... | |
UList< T > & | values () |
The list of values (without addressing) More... | |
const Addr & | addressing () const |
The addressing used for the list. More... | |
label | find (const T &val, const label start=0) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const T &val, const label pos=-1) const |
Find index of the last occurrence of the value. More... | |
bool | found (const T &val, const label start=0) const |
True if the value if found in the list. Linear search. More... | |
List< T > | operator() () const |
Return the addressed elements as a List. More... | |
T & | operator[] (const label i) |
Non-const access to an element in the list. More... | |
const T & | operator[] (const label i) const |
Const access to an element in the list. More... | |
void | operator= (const T &val) |
Assign all addressed elements to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
void | operator= (const UList< T > &rhs) |
Deep copy values from a list of the addressed elements. More... | |
void | operator= (const IndirectListBase< T, Addr > &rhs) |
Deep copy values from a list of the addressed elements. More... | |
template<class AnyAddr > | |
void | operator= (const IndirectListBase< T, AnyAddr > &rhs) |
Deep copy values from a list of the addressed elements. More... | |
iterator | begin () |
Return an iterator at begin of list. More... | |
iterator | end () |
Return an iterator at end of list. More... | |
const_iterator | cbegin () const |
Return a const_iterator at begin of list. More... | |
const_iterator | cend () const |
Return a const_iterator at end of list. More... | |
const_iterator | begin () const |
Return a const_iterator at end of list. More... | |
const_iterator | end () const |
Return a const_iterator at end of list. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
Public Attributes | |
const typedef T * | const_pointer |
The pointer type for const access to value_type items. More... | |
const typedef T & | const_reference |
The type used for reading from constant value_type objects. More... | |
Protected Member Functions | |
template<class ListType > | |
void | copyList (const ListType &rhs) |
Copy values The number of elements in the list. More... | |
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 57 of file IndirectListBase.H.
typedef T value_type |
Type of values the list contains.
Definition at line 82 of file IndirectListBase.H.
The pointer type for non-const access to value_type items.
Definition at line 85 of file IndirectListBase.H.
The type used for storing into value_type objects.
Definition at line 91 of file IndirectListBase.H.
The type to represent the size of a UList.
Definition at line 97 of file IndirectListBase.H.
typedef label difference_type |
The difference between iterator objects.
Definition at line 100 of file IndirectListBase.H.
typedef Addr addressing_type |
The addressing type (non-stl definition)
Definition at line 106 of file IndirectListBase.H.
|
delete |
No null construct.
|
inline |
Store references to the values list and the addressing array.
Definition at line 57 of file IndirectListBaseI.H.
|
inlineprotected |
Copy values The number of elements in the list.
Definition at line 33 of file IndirectListBaseI.H.
|
inline |
The number of elements in the list.
Definition at line 126 of file IndirectListBase.H.
Referenced by List< substance >::append(), DynamicList< Foam::FixedList< scalar, 3 > >::append(), bitSet::bitSet(), List< substance >::operator=(), DynamicList< Foam::FixedList< scalar, 3 > >::operator=(), PackedList< 2 >::PackedList(), LLTMatrix< Type >::solve(), and IndirectListBase< T, sliceRange >::writeList().
|
inline |
True if the list is empty (ie, size() is zero).
Definition at line 132 of file IndirectListBase.H.
True if all entries have identical values, and list is non-empty.
Definition at line 70 of file IndirectListBaseI.H.
Referenced by IndirectListBase< T, sliceRange >::writeList().
|
inline |
The first element of the list.
Definition at line 141 of file IndirectListBase.H.
|
inline |
The first element of the list.
Definition at line 147 of file IndirectListBase.H.
|
inline |
The last element of the list.
Definition at line 153 of file IndirectListBase.H.
|
inline |
The last element of the list.
Definition at line 159 of file IndirectListBase.H.
The list of values (without addressing)
Definition at line 165 of file IndirectListBase.H.
The list of values (without addressing)
Definition at line 171 of file IndirectListBase.H.
|
inline |
The addressing used for the list.
Definition at line 177 of file IndirectListBase.H.
Foam::label find | ( | const T & | val, |
const label | start = 0 |
||
) | const |
Find index of the first occurrence of the value.
When start is specified, any occurences before start are ignored. Linear search.
Definition at line 32 of file IndirectListBase.C.
Foam::label rfind | ( | const T & | val, |
const label | pos = -1 |
||
) | const |
Find index of the last occurrence of the value.
When pos is specified, any occurrences after pos are ignored. Linear search.
Definition at line 58 of file IndirectListBase.C.
True if the value if found in the list. Linear search.
Definition at line 95 of file IndirectListBaseI.H.
|
inline |
Return the addressed elements as a List.
Definition at line 108 of file IndirectListBaseI.H.
Non-const access to an element in the list.
Definition at line 125 of file IndirectListBaseI.H.
Const access to an element in the list.
Definition at line 133 of file IndirectListBaseI.H.
|
inline |
Assign all addressed elements to the given value.
Definition at line 140 of file IndirectListBaseI.H.
|
inline |
Assignment of all entries to zero.
Definition at line 151 of file IndirectListBaseI.H.
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 163 of file IndirectListBaseI.H.
|
inline |
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 173 of file IndirectListBaseI.H.
|
inline |
Deep copy values from a list of the addressed elements.
Fatal if list sizes are not identical
Definition at line 184 of file IndirectListBaseI.H.
|
inline |
Return an iterator at begin of list.
Definition at line 331 of file IndirectListBase.H.
Referenced by bitSet::bitSet(), HashSet< Foam::string >::insert(), bitSet::set(), HashSet< Foam::string >::unset(), and bitSet::unset().
|
inline |
Return an iterator at end of list.
Definition at line 337 of file IndirectListBase.H.
Referenced by bitSet::bitSet(), HashSet< Foam::string >::insert(), bitSet::set(), HashSet< Foam::string >::unset(), and bitSet::unset().
|
inline |
Return a const_iterator at begin of list.
Definition at line 346 of file IndirectListBase.H.
Referenced by IndirectListBase< T, sliceRange >::begin().
|
inline |
Return a const_iterator at end of list.
Definition at line 352 of file IndirectListBase.H.
Referenced by IndirectListBase< T, sliceRange >::end().
|
inline |
Return a const_iterator at end of list.
Definition at line 358 of file IndirectListBase.H.
|
inline |
Return a const_iterator at end of list.
Definition at line 364 of file IndirectListBase.H.
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 38 of file IndirectListBaseIO.C.
Referenced by Foam::operator<<().
const typedef T* const_pointer |
The pointer type for const access to value_type items.
Definition at line 88 of file IndirectListBase.H.
const typedef T& const_reference |
The type used for reading from constant value_type objects.
Definition at line 94 of file IndirectListBase.H.