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