35 completeList_(
const_cast<UList<T>&
>(completeList)),
45 return addressing_.size();
52 return addressing_.empty();
59 return completeList_[addressing_.first()];
66 return completeList_[addressing_.first()];
73 return completeList_[addressing_.last()];
80 return completeList_[addressing_.last()];
87 return addressing_.fcIndex(i);
94 return addressing_.rcIndex(i);
101 return completeList_;
121 result[i] = operator[](i);
131 return completeList_[addressing_[i]];
138 return completeList_[addressing_[i]];
145 if (addressing_.size() != ae.
size())
148 <<
"Addressing and list of addressed elements " 149 "have different sizes: " 150 << addressing_.size() <<
" " << ae.
size()
156 completeList_[addressing_[i]] = ae[i];
164 if (addressing_.size() != ae.
size())
167 <<
"Addressing and list of addressed elements " 168 "have different sizes: " 169 << addressing_.size() <<
" " << ae.
size()
175 completeList_[addressing_[i]] = ae[i];
185 completeList_[addressing_[i]] = t;
#define forAll(list, i)
Loop across all elements in list.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label rcIndex(const label i) const
Return the reverse circular index, i.e. the previous index.
label size() const
Return the number of elements in the list.
const UList< T > & completeList() const
Return the complete list.
List< T > operator()() const
Return the addressed elements as a List.
T & last()
Return the last element of the list.
errorManip< error > abort(error &err)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
T & first()
Return the first element of the list.
A List with indirect addressing.
void operator=(const UList< T > &)
Assignment to UList of addressed elements.
UIndirectList(const UList< T > &, const labelUList &)
Construct given the complete list and the addressing array.
label size() const
Return the number of elements in the UList.
bool empty() const
Return true if the list is empty (ie, size() is zero).
T & operator[](const label)
Return non-const access to an element.
const List< label > & addressing() const
Return the list addressing.