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;
193 if (addressing_.size() != ae.
size())
200 if (completeList_[addressing_[i]] != ae[i])
213 return !(*
this == ae);
237 return i_ == iter.i_;
247 return i_ != iter.i_;
297 iterator
tmp = *
this;
382 return i_ <= iter.i_;
392 return i_ >= iter.i_;
400 return iterator(completeList_, addressing_.begin());
408 return iterator(completeList_, addressing_.end());
432 return i_ == iter.i_;
442 return i_ != iter.i_;
580 return i_ <= iter.i_;
590 return i_ >= iter.i_;
#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...
An STL-conforming const_iterator.
const_iterator(const UList< T > &, const UList< label >::const_iterator &)
Construct for a given UList and addressing iterator.
const T & operator*() const
const_iterator operator-=(const label)
const_iterator operator++()
const_iterator operator-(const label) const
const_iterator operator+=(const label)
const_iterator operator+(const label) const
const_iterator operator--()
const T & operator()() const
An STL-conforming iterator.
iterator operator-(const label) const
iterator operator+(const label) const
iterator(UList< T > &, const UList< label >::const_iterator &)
Construct for a given UList and addressing iterator.
iterator operator+=(const label)
T & operator[](const label)
iterator operator-=(const label)
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.
const_iterator cbegin() const
Return an const_iterator to begin traversing the UIndirectList.
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.
const_iterator cend() const
Return an const_iterator to end traversing the UIndirectList.
bool empty() const
Return true if the list is empty (ie, size() is zero).
const UList< T > & completeList() const
Return the complete list.
bool operator==(const UIndirectList< T > &) const
Equality comparison. Compares element-by-element.
T & operator[](const label)
Return non-const access to an element.
iterator begin()
Return an iterator to begin traversing the UIndirectList.
bool operator!=(const UIndirectList< T > &) const
Inequality comparison. Compares element-by-element.
void operator=(const UList< T > &)
Assignment to UList of addressed elements.
List< T > operator()() const
Return the addressed elements as a List.
iterator end()
Return an iterator to end traversing the UIndirectList.
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.
iterator begin()
Return an iterator to begin traversing the UList.
iterator end()
Return an iterator to end traversing the UList.
A class for managing temporary objects.
#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)
tmp< DimensionedField< Type, GeoMesh, Field > > operator*(const DimensionedField< Type, GeoMesh, PrimitiveField1 > &df1, const DimensionedField< scalar, GeoMesh, PrimitiveField2 > &df2)
void T(GeometricField< Type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type, GeoMesh, PrimitiveField2 > &gf1)