66 indices_(lst.indices())
73 List<
T>(std::move(lst)),
74 indices_(std::move(lst.indices_))
90 List<
T>(std::move(values))
119 return static_cast<List<T>&
>(*this);
146 indices_.resize_nocopy(this->size());
152 indices_.begin() + start,
153 indices_.begin() + start +
n,
166 indices_.resize_nocopy(this->size());
172 indices_.begin() + start,
173 indices_.begin() + start +
n,
192 indices_.swap(other.indices_);
Various functions to operate on Lists.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void operator=(const UList< T > &a)
Assignment to UList operator. Takes linear time.
void clear()
Clear the list, i.e. set size to zero.
A list that is sorted upon construction or when explicitly requested with the sort() method.
void partialSort(label n, label start=0)
Forward partial sort the list until the middle point.
const labelList & indices() const noexcept
Return the list of sorted indices. Updated every sort.
void operator=(const T &val)
Assignment of all entries to the given value, removing indices.
void sort()
Forward (stable) sort the list (if changed after construction).
void reverseSort()
Reverse (stable) sort the list.
constexpr SortableList() noexcept
Default construct.
void swap(SortableList< T > &other)
Swap content with another SortableList in constant time.
List< T > & shrink()
Clear the indices and return a reference to the underlying List.
void clear()
Clear the list and the indices.
void partialReverseSort(label n, label start=0)
Reverse partial sort the list until the middle point.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
UList< T > & operator=(const UList< T > &)=delete
No copy assignment (default: shallow copy)
transferModelList & transfer()
Transfer.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
void identity(labelUList &map, label start=0)
Set identity map with (map[i] == i)
labelList sortedOrder(const UList< T > &input)
Return the (stable) sort order for the list.
void sort(UList< T > &list)
Sort the list.
static constexpr const zero Zero
Global zero (0)
A list compare binary predicate for reverse sort.
A list compare binary predicate for normal sort.