IndirectList< T > Class Template Reference

A List with indirect addressing. More...

Inheritance diagram for IndirectList< T >:
Collaboration diagram for IndirectList< T >:

Public Member Functions

 IndirectList (const UList< T > &, const labelUList &)
 Construct given the complete list and the addressing array. More...
 
 IndirectList (const UList< T > &, List< label > &&)
 Move constructor given the complete list and moves the addressing. More...
 
 IndirectList (const IndirectList< T > &)
 Copy constructor. More...
 
 IndirectList (const UIndirectList< T > &)
 Construct from UIndirectList. More...
 
void resetAddressing (const labelUList &)
 Reset addressing. More...
 
- Public Member Functions inherited from UIndirectList< T >
 UIndirectList (const UList< T > &, const UList< label > &)
 Construct given the complete list and the addressing array. More...
 
 UIndirectList (const UIndirectList< T > &)=default
 Copy constructor. More...
 
label size () const
 Return the number of elements in the list. More...
 
bool empty () const
 Return true if the list is empty (ie, size() is zero). More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. the next index. More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. the previous index. More...
 
const UList< T > & completeList () const
 Return the complete list. More...
 
const List< label > & addressing () const
 Return the list addressing. More...
 
List< Toperator() () const
 Return the addressed elements as a List. More...
 
Toperator[] (const label)
 Return non-const access to an element. More...
 
const Toperator[] (const label) const
 Return const access to an element. More...
 
void operator= (const UList< T > &)
 Assignment to UList of addressed elements. More...
 
void operator= (const UIndirectList< T > &)
 Assignment to UIndirectList of addressed elements. More...
 
void operator= (const T &)
 Assignment of all entries to the given value. More...
 

Additional Inherited Members

- Public Types inherited from UIndirectList< T >
typedef T value_type
 Type of values the UList contains. More...
 
typedef Treference
 Type that can be used for storing into. More...
 
typedef const Tconst_reference
 Type that can be used for storing into. More...
 
typedef label difference_type
 The type that can represent the difference between any two. More...
 
typedef label size_type
 The type that can represent the size of a UList. More...
 

Detailed Description

template<class T>
class Foam::IndirectList< T >

A List with indirect addressing.

See also
Foam::UIndirectList for a version without any allocation for the addressing.
Source files

Definition at line 101 of file IndirectList.H.

Constructor & Destructor Documentation

◆ IndirectList() [1/4]

IndirectList ( const UList< T > &  completeList,
const labelUList addr 
)
inline

Construct given the complete list and the addressing array.

Definition at line 48 of file IndirectListI.H.

◆ IndirectList() [2/4]

IndirectList ( const UList< T > &  completeList,
List< label > &&  addr 
)
inline

Move constructor given the complete list and moves the addressing.

Definition at line 64 of file IndirectListI.H.

◆ IndirectList() [3/4]

IndirectList ( const IndirectList< T > &  lst)
inline

Copy constructor.

Definition at line 80 of file IndirectListI.H.

◆ IndirectList() [4/4]

IndirectList ( const UIndirectList< T > &  lst)
inlineexplicit

Construct from UIndirectList.

Definition at line 95 of file IndirectListI.H.

Member Function Documentation

◆ resetAddressing()

void resetAddressing
inline

Reset addressing.

Definition at line 86 of file IndirectListI.H.


The documentation for this class was generated from the following files: