41 #ifndef UIndirectList_H 42 #define UIndirectList_H 52 template<
class T>
class UIndirectList;
53 template<
class T> Ostream& operator<<(Ostream&, const UIndirectList<T>&);
64 UList<T>& completeList_;
87 inline bool empty()
const;
93 inline const T&
first()
const;
99 inline const T&
last()
const;
123 inline void operator=(
const UIndirectList<T>&);
T & reference
Type that can be used for storing into.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
UList< label > labelUList
label size_type
The type that can represent the size of a UList.
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.
const T & const_reference
Type that can be used for storing into.
T & last()
Return the last element of the list.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
T value_type
Type of values the UList contains.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
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 difference_type
The type that can represent the difference between any two.
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.