52#ifndef Foam_IndirectList_H
53#define Foam_IndirectList_H
65template<
class T>
class IndirectList;
66template<
class T>
class UIndirectList;
158 template<
class UnaryCondition>
162 const UnaryCondition& select,
172 template<
class UnaryPredicate>
176 const UnaryPredicate& pred,
188 const bool sorted =
false
A class for storing list addressing (labels, slices etc), which are normally to used by IndirectList....
const Addr & addressing() const noexcept
Const access to the addressing.
Base for lists with indirect addressing, templated on the list contents type and the addressing type....
void copyList(const ListType &rhs)
Deep copy values from the list.
const labelUList & addressing() const noexcept
The addressing used for the list.
const UList< T > & values() const noexcept
The list of values (without addressing)
A List with indirect addressing.
void operator=(const IndirectList< T > &rhs)
Deep copy values, Fatal if list sizes are not identical.
static IndirectList< T > uniq(const UList< T > &values, const bool sorted=false)
Return an IndirectList with duplicate entries filtered out.
static IndirectList< T > subset_if(const UList< T > &values, const UnaryPredicate &pred, const bool invert=false)
static IndirectList< T > subset(const UList< T > &values, const UnaryCondition &select, const bool invert=false)
A List with indirect addressing. Like IndirectList but does not store addressing.
UIndirectList(const UList< T > &values, const labelUList &addr)
Shallow copy values and addressing.
UIndirectList(const UIndirectList< T > &list)
Copy construct (shallow copy values and addressing)
void operator=(const UIndirectList< T > &rhs)
Deep copy values, Fatal if list sizes are not identical.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
UIndirectList< bool > boolUIndList
UIndirectList of bools.
labelList invert(const label len, const labelUList &map)
Create an inverse one-to-one mapping.
UIndirectList< label > labelUIndList
UIndirectList of labels.