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_;
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.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A List with indirect addressing.
UIndirectList(const UList< T > &, const UList< label > &)
Construct given the complete list and the addressing array.
T & first()
Return the first element of the list.
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.
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
bool empty() const
Return true if the list is empty (ie, size() is zero).
const UList< T > & completeList() const
Return the complete list.
T & operator[](const label)
Return non-const access to an element.
void operator=(const UList< T > &)
Assignment to UList of addressed elements.
List< T > operator()() const
Return the addressed elements as a List.
T & last()
Return the last element of the list.
const List< label > & addressing() const
Return the list addressing.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
label size() const
Return the number of elements in the UList.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManip< error > abort(error &err)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)