BiIndirectList< T > Class Template Reference

Indexes into negList (negative index) or posList (zero or positive index). More...

Public Member Functions

 BiIndirectList (const UList< T > &posList, const UList< T > &negList, const labelUList &addr)
 Construct given the complete lists and the addressing array. More...
 
 BiIndirectList (const UList< T > &posList, const UList< T > &negList, labelList &&addr)
 Construct given the complete list and by transferring addressing. More...
 
label size () const noexcept
 The number of elements in the list. More...
 
bool empty () const noexcept
 True if the list is empty (ie, size() is zero). More...
 
const UList< T > & posList () const noexcept
 
const UList< T > & negList () const noexcept
 
const labelListaddressing () const noexcept
 Return the list addressing. More...
 
void resetAddressing (const labelUList &addr)
 Copy reset addressing. More...
 
void resetAddressing (labelList &&addr)
 Move reset addressing. More...
 
List< Toperator() () const
 Return the addressed elements as a List. More...
 
Toperator[] (const label i)
 Return non-const access to an element. More...
 
const Toperator[] (const label i) const
 Return const access to an element. More...
 
void operator= (const UList< T > &ae)
 Assignment to UList of addressed elements. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 

Static Public Member Functions

static label posIndex (const label i)
 Calculate index given whether index is into posList or negList. More...
 
static label negIndex (const label i)
 

Detailed Description

template<class T>
class Foam::BiIndirectList< T >

Indexes into negList (negative index) or posList (zero or positive index).

Source files

Definition at line 52 of file BiIndirectList.H.

Constructor & Destructor Documentation

◆ BiIndirectList() [1/2]

BiIndirectList ( const UList< T > &  posList,
const UList< T > &  negList,
const labelUList addr 
)
inline

Construct given the complete lists and the addressing array.

Definition at line 49 of file BiIndirectListI.H.

◆ BiIndirectList() [2/2]

BiIndirectList ( const UList< T > &  posList,
const UList< T > &  negList,
labelList &&  addr 
)
inline

Construct given the complete list and by transferring addressing.

Definition at line 63 of file BiIndirectListI.H.

Member Function Documentation

◆ size()

Foam::label size ( ) const
inlinenoexcept

The number of elements in the list.

Definition at line 78 of file BiIndirectListI.H.

◆ empty()

bool empty ( ) const
inlinenoexcept

True if the list is empty (ie, size() is zero).

Definition at line 85 of file BiIndirectListI.H.

◆ posList()

const Foam::UList< T > & posList ( ) const
inlinenoexcept

Definition at line 92 of file BiIndirectListI.H.

◆ negList()

const Foam::UList< T > & negList ( ) const
inlinenoexcept

Definition at line 99 of file BiIndirectListI.H.

◆ addressing()

const Foam::labelList & addressing ( ) const
inlinenoexcept

Return the list addressing.

Definition at line 107 of file BiIndirectListI.H.

◆ posIndex()

Foam::label posIndex ( const label  i)
inlinestatic

Calculate index given whether index is into posList or negList.

Definition at line 32 of file BiIndirectListI.H.

◆ negIndex()

Foam::label negIndex ( const label  i)
inlinestatic

Definition at line 39 of file BiIndirectListI.H.

◆ resetAddressing() [1/2]

void resetAddressing ( const labelUList addr)
inline

Copy reset addressing.

Definition at line 115 of file BiIndirectListI.H.

◆ resetAddressing() [2/2]

void resetAddressing ( labelList &&  addr)
inline

Move reset addressing.

Definition at line 125 of file BiIndirectListI.H.

◆ operator()()

Foam::List< T > operator() ( ) const
inline

Return the addressed elements as a List.

Definition at line 136 of file BiIndirectListI.H.

References forAll.

◆ operator[]() [1/2]

T & operator[] ( const label  i)
inline

Return non-const access to an element.

Definition at line 150 of file BiIndirectListI.H.

◆ operator[]() [2/2]

const T & operator[] ( const label  i) const
inline

Return const access to an element.

Definition at line 166 of file BiIndirectListI.H.

◆ operator=() [1/2]

void operator= ( const UList< T > &  ae)
inline

Assignment to UList of addressed elements.

Definition at line 182 of file BiIndirectListI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and UList< T >::size().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( const T val)
inline

Assignment of all entries to the given value.

Definition at line 201 of file BiIndirectListI.H.

References forAll.


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