Go to the documentation of this file.
38 #ifndef BiIndirectList_H
39 #define BiIndirectList_H
89 inline label
size()
const noexcept;
92 inline bool empty()
const noexcept;
101 inline static label
posIndex(
const label i);
102 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.
const UList< T > & negList() const noexcept
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.
const labelList & addressing() const noexcept
Return the list addressing.
Indexes into negList (negative index) or posList (zero or positive index).
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 UList< T > & posList() const noexcept