Go to the documentation of this file.
38 #ifndef BiIndirectList_H
39 #define BiIndirectList_H
88 inline label
size()
const noexcept;
91 inline bool empty()
const noexcept;
100 inline static label
posIndex(
const label i);
101 inline static label
negIndex(
const label i);
bool empty() const noexcept
True if the list is empty (ie, size() is zero).
BiIndirectList(const UList< T > &posList, const UList< T > &negList, const labelUList &addr)
Construct given the complete lists and the addressing array.
static label posIndex(const label i)
Calculate index given whether index is into posList or negList.
static label negIndex(const label i)
void operator=(const UList< T > &ae)
Assignment to UList of addressed elements.
T & operator[](const label i)
Return non-const access to an element.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
List< T > operator()() const
Return the addressed elements as a List.
Indexes into negList (negative index) or posList (zero or positive index).
const UList< T > & posList() const
label size() const noexcept
The number of elements in the list.
void resetAddressing(const labelUList &addr)
Copy reset addressing.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const List< label > & addressing() const
Return the list addressing.
const UList< T > & negList() const