![]() |
VCTR
|
A handy shortcut for Vector<std::unique_ptr<OwnedElementType>>. More...
Public Types | |
using | value_type = typename Vctr::value_type |
Public Member Functions | |
OwnedVector (std::initializer_list< OwnedElementType * > elementsToOwn) | |
Creates an OwnedVector from an initializer list of raw pointers that will be owned by the Vector. | |
template<class... Args> | |
OwnedVector (Args &&... args) | |
Forwards every other constructor call to the base class constructor. | |
constexpr StdVectorType & | getUnderlyingVector () |
Returns a reference to the underlying storage. | |
constexpr const StdVectorType & | getUnderlyingVector () const |
Returns a reference to the underlying storage. | |
constexpr StdVectorType && | moveUnderlyingVector () && |
Moves the underlying storage out of this wrapper class. | |
constexpr | operator StdVectorType & () |
Conversion operator shortcut to getUnderlyingVector. | |
constexpr | operator const StdVectorType & () const |
Conversion operator shortcut to getUnderlyingVector. | |
operator std::vector< ElementType, OtherAllocator > () const | |
Conversion operator that allows us to assign this Vector to a std::vector with different allocator type. | |
constexpr void | resize (size_t i) |
Changes the size of this Vector, potentially allocating memory. | |
constexpr void | reserve (size_t i) |
Pre-allocates memory for the given number of elements. | |
constexpr void | shrink_to_fit () |
Adjusts the allocated memory to the actual number of elements. | |
constexpr void | init (size_t newSize, const value_type &value) |
Resizes this vector to newSize and fills it with the given value. | |
constexpr void | init (size_t newSize, Fn &&initializerFunction) |
Resizes this vector to newSize and fills it via the given initializerFunction. | |
constexpr void | clear () noexcept |
Erase all elements from the Vector. | |
constexpr DefaultVectorAllocator< ElementType > | get_allocator () const noexcept |
Returns the allocator associated with the Vector. | |
constexpr size_t | capacity () const noexcept |
Returns the number of elements the Vector can currently hold without re-allocation. | |
constexpr size_t | max_size () const noexcept |
Returns the maximum number of elements the container is able to hold. | |
constexpr auto | erase (ConstIterator elementToErase) |
Erases the element referenced by elementToErase and returns the iterator to the element behind it. | |
constexpr auto | erase (size_t idx) |
Erases the element at index idx and returns the iterator to the element behind it. | |
constexpr auto | erase (ConstIterator first, ConstIterator last) |
Erases the range of elements referenced by it and returns the iterator to the element behind it. | |
constexpr auto | erase (size_t startIdx, size_t numElements) |
Erases numElements elements starting from index startIdx and returns the iterator to the element behind it. | |
constexpr auto | eraseFirstOccurrenceOf (const T &value) |
Erases the first occurrence of value from this Vector and adjusts its size. | |
constexpr auto | eraseFirstOccurrenceIf (Fn &&predicate) |
Erases the first occurrence for which predicate is true from this Vector and adjusts its size. | |
constexpr bool | eraseAllOccurrencesOf (const T &value) |
Removes all occurrences of value from this Vector and adjusts its size. | |
constexpr bool | eraseAllOccurrencesIf (Fn &&predicate) |
Removes all elements inside this Vector for which predicate is true and adjusts its size. | |
constexpr ElementType & | push_back (ElementType &&newElement) |
Adds an element to the end of the Vector. | |
constexpr ElementType & | push_back (const ElementType &newElement) |
Adds an element to the end of the Vector. | |
constexpr ElementType | pop_back () |
Removes the last element in the vector, effectively reducing the container size by one. | |
constexpr void | emplace_back (Args &&... args) |
Constructs an element in-place at the end of the Vector. | |
constexpr void | swap (Vector &other) noexcept |
Swaps the underlying memory with the other Vector. | |
void | append (VctrToAppend &&vctrToAppend, bool moveValuesFromSrc=false) |
Appends a Span, Array or Vector to the end of this Vector, optionally by moving elements from the source. | |
auto | insert (ConstIterator pos, const ElementType &value) |
Inserts value before the element referenced by pos and returns an iterator to the inserted value. | |
auto | insert (size_t idx, const ElementType &value) |
Inserts value at index idx and returns an iterator to the inserted value. | |
auto | insert (ConstIterator pos, ElementType &&value) |
Inserts value before the element referenced by pos and returns an iterator to the inserted value. | |
auto | insert (size_t idx, ElementType &&value) |
Inserts value at index idx and returns an iterator to the inserted value. | |
auto | insert (ConstIterator pos, size_t numCopies, const ElementType &value) |
Inserts numCopies copies of value before the element referenced by pos and returns an iterator to the inserted values. | |
auto | insert (size_t idx, size_t numCopies, const ElementType &value) |
Inserts numCopies copies of value at index idx and returns an iterator to the inserted values. | |
auto | insert (ConstIterator pos, InputIterator first, InputIterator last) |
Inserts a range of values before the element referenced by pos and returns an iterator to the inserted values. | |
auto | insert (size_t idx, InputIterator first, InputIterator last) |
Inserts a range of values at index idx and returns an iterator to the inserted values. | |
auto | insert (ConstIterator pos, std::initializer_list< ElementType > initList) |
Inserts a list of values before the element referenced by pos and returns an iterator to the first inserted value. | |
auto | insert (size_t idx, std::initializer_list< ElementType > initList) |
Inserts a list of values at index idx and returns an iterator to the first inserted value. | |
auto | insert (ConstIterator pos, VctrToInsert &&vctrToInsert, bool moveValuesFromSrc=false) |
Inserts a VCTR container before the element referenced by pos and returns an iterator to the first inserted value. | |
auto | insert (size_t idx, VctrToInsert &&vctrToInsert, bool moveValuesFromSrc=false) |
Inserts a VCTR container at index idx and returns an iterator to the first inserted value. | |
constexpr size_t | size () const noexcept |
Returns the number of elements. | |
constexpr bool | empty () const noexcept |
Checks whether the container is empty. | |
constexpr size_t | sizeInBytes () const noexcept |
Returns the container size in bytes. | |
constexpr size_t | backIdx () const noexcept |
Returns the index referring to the last element in the vector. | |
constexpr auto & | operator[] (size_t i) |
Returns a reference to element i. | |
constexpr auto & | operator[] (size_t i) const |
Returns a reference to element i. | |
constexpr auto & | at (size_t i) |
Returns a reference to element i. | |
constexpr auto & | at (size_t i) const |
Returns a reference to element i. | |
constexpr auto && | front () |
Returns a reference to the first element. | |
constexpr auto && | front () const |
Returns a reference to the first element. | |
constexpr auto && | back () |
Returns a reference to the last element. | |
constexpr auto && | back () const |
Returns a reference to the last element. | |
VCTR_FORCEDINLINE constexpr auto * | data () |
Returns a raw pointer to the underlying storage. | |
VCTR_FORCEDINLINE constexpr auto * | data () const |
Returns a raw pointer to the underlying storage. | |
constexpr auto | begin () |
Returns an iterator to the begin of the storage. | |
constexpr auto | begin () const |
Returns a const iterator to the begin of the storage. | |
constexpr auto | end () |
Returns an iterator to the first element behind the storage. | |
constexpr auto | end () const |
Returns a const iterator to the first element behind the storage. | |
constexpr auto | rbegin () |
Returns a reverse iterator to the last element in the storage. | |
constexpr auto | rbegin () const |
Returns a const reverse iterator to the last element in the storage. | |
constexpr auto | rend () |
Returns a reverse iterator to the element before the first element in the storage. | |
constexpr auto | rend () const |
Returns a const reverse iterator to the element before the first element in the storage. | |
template<size_t startIdx> | |
constexpr auto | subSpan () |
Returns a Span that views a portion of this instance, starting at startIdx with a length of size() - startIdx. | |
template<size_t startIdx> | |
constexpr auto | subSpan () const |
Returns a Span that views a portion of this instance, starting at startIdx with a length of size() - startIdx. | |
constexpr auto | subSpan (size_t startIdx) |
Returns a Span that views a portion of this instance, starting at startIdx with a length of size() - startIdx. | |
constexpr auto | subSpan (size_t startIdx) const |
Returns a Span that views a portion of this instance, starting at startIdx with a length of size() - startIdx. | |
template<size_t startIdx, size_t numElements> | |
constexpr auto | subSpan () |
Returns a Span that views a portion of this instance, starting at startIdx with a length of numElements. | |
template<size_t startIdx, size_t numElements> | |
constexpr auto | subSpan () const |
Returns a Span that views a portion of this instance, starting at startIdx with a length of numElements. | |
constexpr auto | subSpan (size_t startIdx, size_t numElements) |
Returns a Span that views a portion of this instance, starting at startIdx with a length of numElements. | |
constexpr auto | subSpan (size_t startIdx, size_t numElements) const |
Returns a Span that views a portion of this instance, starting at startIdx with a length of numElements. | |
constexpr void | assign (std::initializer_list< ElementType > elements) |
Assigns elements from the initializer list to this instance. | |
constexpr void | copyFrom (const ElementType *otherData, size_t otherSize) |
Copies the content from otherData to this instance. | |
constexpr void | fill (const value_type &value) |
Fills the container with the given value. | |
constexpr void | fillLinspace (ElementType start, ElementType stop, bool includeEnd=true) |
Fills the vector with evenly spaced numbers between start and stop. | |
template<is::functionWithSignatureOrImplicitlyConvertible< void(value_type &)> Fn> | |
constexpr void | forEach (Fn &&fn) |
Calls a function on each element. | |
template<is::functionWithSignatureOrImplicitlyConvertible< void(const value_type &)> Fn> | |
constexpr void | forEach (Fn &&fn) const |
Calls a function on each element. | |
template<is::functionWithSignatureOrImplicitlyConvertible< value_type(const value_type &)> Fn> | |
constexpr void | forEach (Fn &&fn) |
Calls a function on each element. | |
template<is::functionWithSignatureOrImplicitlyConvertible< void(value_type &, size_t)> Fn> | |
constexpr void | forEach (Fn &&fn) |
Calls a function on each element and passes the element index as second function argument. | |
template<is::functionWithSignatureOrImplicitlyConvertible< void(const value_type &, size_t)> Fn> | |
constexpr void | forEach (Fn &&fn) const |
Calls a function on each element and passes the element index as second function argument. | |
template<is::functionWithSignatureOrImplicitlyConvertible< value_type(const value_type &, size_t)> Fn> | |
constexpr void | forEach (Fn &&fn) |
Calls a function on each element and passes the element index as second function argument. | |
template<class... Args, is::functionWithSignatureOrImplicitlyConvertible< void(value_type &, Args &&...)> Fn> | |
constexpr void | forEach (Fn &&fn, Args &&... fnArgs) |
Calls a function on each element and forwards fnArgs to the function after the value. | |
template<class... Args, is::functionWithSignatureOrImplicitlyConvertible< void(const value_type &, Args &&...)> Fn> | |
constexpr void | forEach (Fn &&fn, Args &&... fnArgs) const |
Calls a function on each element and forwards fnArgs to the function after the value. | |
template<class... Args, is::functionWithSignatureOrImplicitlyConvertible< value_type(const value_type &, Args &&...)> Fn> | |
constexpr void | forEach (Fn &&fn, Args &&... fnArgs) |
Calls a function on each element and forwards fnArgs to the function after the value. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr auto | find (const T &valueToLookFor) |
Returns an iterator to the first element that equals valueToLookFor or end() if none was found. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr auto | find (const T &valueToLookFor) const |
Returns a const iterator to the first element that equals valueToLookFor or end() if none was found. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr auto | findReverse (const T &valueToLookFor) |
Returns a reverse iterator to the last element in this vector that equals valueToLookFor or rend() if none was found. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr auto | findReverse (const T &valueToLookFor) const |
Returns a const reverse iterator to the last element in this vector that equals valueToLookFor or rend() if none was found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr auto | findIf (Fn &&predicate) |
Returns an iterator to the first element in this vector for which predicate returns true or end() if none was found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr auto | findIf (Fn &&predicate) const |
Returns a const iterator to the first element in this vector for which predicate returns true or end() if none was found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr auto | findIfReverse (Fn &&predicate) |
Returns a reverse iterator to the last element in this vector for which predicate returns true or rend() if none was found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr auto | findIfReverse (Fn &&predicate) const |
Returns a const reverse iterator to the last element in this vector for which predicate returns true or rend() if none was found. | |
constexpr size_t | count (const ElementType &valueToLookFor) const |
Returns the number of elements that are equal to valueToLookFor. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr size_t | countIf (Fn &&predicate) const |
Returns the number of elements that satisfy predicate. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr bool | all (Fn &&predicate) const |
Returns true if all elements satisfy the predicate or if the container is empty. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr bool | any (Fn &&predicate) const |
Returns true if one or more elements satisfy the predicate. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr bool | allElementsEqual (const T &value) const |
Returns true if all elements are equal to value or if the container is empty. | |
constexpr bool | allElementsEqual () const |
Returns true if all elements are equal to themselves. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr bool | contains (const T &value) const |
Returns true if at least one element is equal to value. | |
template<is::contiguousIteratorWithValueTypeSameAs< ElementType > It> | |
constexpr bool | contains (It it) const |
Returns true if the iterator refers to an element inside this container or span. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr std::optional< size_t > | indexOf (const T &value) const |
Returns the index of the first element that compares true to value or std::nullopt if none is found. | |
template<std::equality_comparable_with< ElementType > T> | |
constexpr std::optional< size_t > | indexOfReverse (const T &value) const |
Returns the index of the last element that compares true to value or std::nullopt if none is found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr std::optional< size_t > | indexIf (Fn &&predicate) const |
Returns the index of the first element that satisfies the predicate or std::nullopt if none is found. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const ElementType &)> Fn> | |
constexpr std::optional< size_t > | indexIfReverse (Fn &&predicate) const |
Returns the index of the last element that satisfies the predicate or std::nullopt if none is found. | |
constexpr std::optional< value_type > | firstValueGreaterThanOrEqualTo (const value_type &valueToLookFor) const |
Returns a std::optional holding a copy of the first element value which is greater or equal to valueToLookFor or std::nullopt if no such value is found. | |
constexpr std::optional< value_type > | firstValueGreaterThan (const value_type &valueToLookFor) const |
Returns a std::optional holding a copy of the first element value which is greater than valueToLookFor or std::nullopt if no such value is found. | |
constexpr void | reverse () |
Reverses the order of all elements. | |
constexpr void | rotate (size_t newFirstElementIdx) |
Rotates the elements so that the element with the index newFirstElementIdx becomes the first element and the element with the index newFirstElementIdx - 1 becomes the last element. | |
void | shiftLeft (size_t n, bool clearFreeSpaceAfterShiftedRegion) |
Shifts all elements to the left by n. | |
void | shiftRight (size_t n, bool clearFreeSpaceBeforeShiftedRegion) |
Shifts all elements to the right by n. | |
constexpr void | sort () |
Sorts all elements in an ascending order using operator <=>. | |
template<is::functionWithSignatureOrImplicitlyConvertible< bool(const value_type &, const value_type &)> ComparatorFn> | |
constexpr void | sort (ComparatorFn &&compare) |
Sorts all elements in this vector according to the compare function. | |
constexpr bool | elementsAreSorted () const |
Returns true if all elements are sorted. | |
NeonRegister< std::remove_const_t< ElementType > > | getNeon (size_t i) const &&is |
Evaluates a certain expression in place on this vector, e.g. | |
constexpr bool | isNotAliased (const void *) const |
VCTR_FORCEDINLINE const ElementType * | evalNextVectorOpInExpressionChain (void *) const |
constexpr const StorageInfoType & | getStorageInfo () const |
template<is::anyVctrOrExpression V> | |
constexpr void | operator*= (const V &v) |
Multiplies this by a vector or expression in place. | |
constexpr void | operator*= (value_type c) |
Multiplies this by a constant in place. | |
template<is::anyVctrOrExpression V> | |
constexpr void | operator/= (const V &v) |
Divides this by a vector or expression in place. | |
constexpr void | operator/= (value_type c) |
Divides this by a constant in place. | |
template<is::anyVctrOrExpression V> | |
constexpr void | operator+= (const V &v) |
Adds a vector or expression to this in place. | |
constexpr void | operator+= (value_type c) |
Adds a constant to this in place. | |
template<is::anyVctrOrExpression V> | |
constexpr void | operator-= (const V &v) |
Subtracts a vector or expression from this in place. | |
constexpr void | operator-= (value_type c) |
Subtracts a constant from this in place. | |
constexpr ElementType | min () const |
Returns the minimal value of all elements. | |
constexpr ElementType | minAbs () const |
Returns the minimal absolute value of all elements. | |
constexpr ElementType | max () const |
Returns the maximum value of all elements. | |
constexpr ElementType | maxAbs () const |
Returns the maximum absolute value of all elements. | |
constexpr ElementType | mean () const |
Returns the mean value across all elements. | |
constexpr ElementType | meanSquare () const |
Returns the mean value across all squared elements. | |
constexpr ElementType | rms () const |
Returns the square root of the mean value across all squared elements. | |
constexpr ElementType | sum () const |
Returns the sum of all elements. | |
constexpr bool | allElementsAreFinite () |
Returns true if all elements are finite. | |
constexpr bool | allElementsAreFinite () |
Returns true if all elements are finite. | |
constexpr bool | anyElementIsNaN () |
Returns true if any element is NaN. | |
constexpr bool | anyElementIsNaN () |
Returns true if any real or imaginary part of an element is NaN. | |
Static Public Member Functions | |
static consteval size_t | getExtent (size_t amountToShrink=0) |
Returns the extent of this instance, optionally shrank by a certain amount. | |
static constexpr size_t | size () noexcept |
Returns the number of elements. | |
static constexpr size_t | sizeInBytes () noexcept |
Returns the container size in bytes. | |
static constexpr size_t | backIdx () noexcept |
Returns the index referring to the last element in the vector. | |
A handy shortcut for Vector<std::unique_ptr<OwnedElementType>>.
|
inline |
Creates an OwnedVector from an initializer list of raw pointers that will be owned by the Vector.
|
inline |
Forwards every other constructor call to the base class constructor.
|
inlineconstexprinherited |
Returns true if all elements satisfy the predicate or if the container is empty.
|
constexprinherited |
Returns true if all elements are finite.
|
constexprinherited |
Returns true if all elements are finite.
|
inlineconstexprinherited |
Returns true if all elements are equal to themselves.
|
inlineconstexprinherited |
Returns true if all elements are equal to value or if the container is empty.
|
inlineconstexprinherited |
Returns true if one or more elements satisfy the predicate.
|
constexprinherited |
Returns true if any element is NaN.
|
constexprinherited |
Returns true if any real or imaginary part of an element is NaN.
|
inlineinherited |
|
inlineconstexprinherited |
Assigns elements from the initializer list to this instance.
In case it is a resizable Vector, it will be resized to match the size of the list, otherwise the list size must match the destination size.
|
inlineconstexprinherited |
Returns a reference to element i.
Throws std::out_of_range if i >= size()
|
inlineconstexprinherited |
Returns a reference to element i.
Throws std::out_of_range if i >= size()
|
inlineconstexprinherited |
Returns a reference to the last element.
|
inlineconstexprinherited |
Returns a reference to the last element.
|
inlineconstexprnoexceptinherited |
Returns the index referring to the last element in the vector.
This overload is a non-static function, used in case the extent is dynamic.
|
inlinestaticconstexprnoexceptinherited |
Returns the index referring to the last element in the vector.
This overload is a static function, used in case the extent is static.
|
inlineconstexprinherited |
Returns an iterator to the begin of the storage.
|
inlineconstexprinherited |
Returns a const iterator to the begin of the storage.
|
inlineconstexprnoexceptinherited |
Returns the number of elements the Vector can currently hold without re-allocation.
|
inlineconstexprnoexceptinherited |
Erase all elements from the Vector.
This is a standard interface function forwarded to std::vector::clear().
|
inlineconstexprinherited |
Returns true if at least one element is equal to value.
|
inlineconstexprinherited |
Returns true if the iterator refers to an element inside this container or span.
It will return false in case it equals end().
|
inlineconstexprinherited |
Copies the content from otherData to this instance.
In case the storage of this instance is resizable, it will resize it if necessary. Otherwise, it will simply assert that the size matches.
|
inlineconstexprinherited |
Returns the number of elements that are equal to valueToLookFor.
|
inlineconstexprinherited |
Returns the number of elements that satisfy predicate.
|
inlineconstexprinherited |
Returns a raw pointer to the underlying storage.
|
inlineconstexprinherited |
Returns a raw pointer to the underlying storage.
|
inlineconstexprinherited |
Returns true if all elements are sorted.
|
inlineconstexprinherited |
Constructs an element in-place at the end of the Vector.
This is a standard interface function forwarded to std::vector::emplace_back().
|
inlineconstexprnoexceptinherited |
Checks whether the container is empty.
|
inlineconstexprinherited |
Returns an iterator to the first element behind the storage.
|
inlineconstexprinherited |
Returns a const iterator to the first element behind the storage.
|
inlineconstexprinherited |
Erases the element referenced by elementToErase and returns the iterator to the element behind it.
This is a standard interface function forwarded to std::vector::erase().
|
inlineconstexprinherited |
Erases the range of elements referenced by it and returns the iterator to the element behind it.
First is expected to be contained in the range while last is expected to be the first element after that range.
This is a standard interface function forwarded to std::vector::erase().
|
inlineconstexprinherited |
Erases the element at index idx and returns the iterator to the element behind it.
|
inlineconstexprinherited |
Erases numElements elements starting from index startIdx and returns the iterator to the element behind it.
|
inlineconstexprinherited |
Removes all elements inside this Vector for which predicate is true and adjusts its size.
Returns true if one or more predicate matches have been found and corresponding elements have been erased, false otherwise.
|
inlineconstexprinherited |
Removes all occurrences of value from this Vector and adjusts its size.
Returns true if one or more occurrences have been found and erased, false otherwise.
|
inlineconstexprinherited |
Erases the first occurrence for which predicate is true from this Vector and adjusts its size.
|
inlineconstexprinherited |
Erases the first occurrence of value from this Vector and adjusts its size.
|
inlineconstexprinherited |
Fills the container with the given value.
|
inlineconstexprinherited |
Fills the vector with evenly spaced numbers between start and stop.
Properties:
start | First value of the interval; always included. |
stop | Last value of the interval; only included if includeEnd is true. |
includeEnd | If this is true, both start and stop are included; otherwise only start is included. |
|
inlineconstexprinherited |
Returns an iterator to the first element that equals valueToLookFor or end() if none was found.
|
inlineconstexprinherited |
Returns a const iterator to the first element that equals valueToLookFor or end() if none was found.
|
inlineconstexprinherited |
Returns an iterator to the first element in this vector for which predicate returns true or end() if none was found.
|
inlineconstexprinherited |
Returns a const iterator to the first element in this vector for which predicate returns true or end() if none was found.
|
inlineconstexprinherited |
Returns a reverse iterator to the last element in this vector for which predicate returns true or rend() if none was found.
|
inlineconstexprinherited |
Returns a const reverse iterator to the last element in this vector for which predicate returns true or rend() if none was found.
|
inlineconstexprinherited |
Returns a reverse iterator to the last element in this vector that equals valueToLookFor or rend() if none was found.
|
inlineconstexprinherited |
Returns a const reverse iterator to the last element in this vector that equals valueToLookFor or rend() if none was found.
|
inlineconstexprinherited |
Returns a std::optional holding a copy of the first element value which is greater than valueToLookFor or std::nullopt if no such value is found.
This function requires that the elements are sorted.
|
inlineconstexprinherited |
Returns a std::optional holding a copy of the first element value which is greater or equal to valueToLookFor or std::nullopt if no such value is found.
This function requires that the elements are sorted.
|
inlineconstexprinherited |
Calls a function on each element.
The function returns void and might take the elements by reference to mutate them.
|
inlineconstexprinherited |
Calls a function on each element.
The function returns a value_type which is assigned as new value to the element.
|
inlineconstexprinherited |
Calls a function on each element and passes the element index as second function argument.
The function returns void and might take the elements by reference to mutate them.
|
inlineconstexprinherited |
Calls a function on each element and passes the element index as second function argument.
The function returns a value_type which is assigned as new value to the element.
|
inlineconstexprinherited |
Calls a function on each element.
The function returns void and must not mutate the elements.
|
inlineconstexprinherited |
Calls a function on each element and passes the element index as second function argument.
The function returns void and must not mutate the elements.
|
inlineconstexprinherited |
Calls a function on each element and forwards fnArgs to the function after the value.
The function returns void and might take the elements by reference to mutate them.
|
inlineconstexprinherited |
Calls a function on each element and forwards fnArgs to the function after the value.
The function returns a value_type which is assigned as new value to the element.
|
inlineconstexprinherited |
Calls a function on each element and forwards fnArgs to the function after the value.
The function returns void and must not mutate the elements.
|
inlineconstexprinherited |
Returns a reference to the first element.
|
inlineconstexprinherited |
Returns a reference to the first element.
|
inlineconstexprnoexceptinherited |
Returns the allocator associated with the Vector.
This is a standard interface function forwarded to std::vector::get_allocator().
|
inlinestaticinherited |
Returns the extent of this instance, optionally shrank by a certain amount.
In case the instance specifies a dynamic extent, the return value will always be std::dynamic_extent, no matter if we specified an amount to shrink. In case the instance specifies a static extent, the return value will be extent - amountToShrink.
|
inlineinherited |
Evaluates a certain expression in place on this vector, e.g.
it assigns the expression result back to the vector.
|
inlineconstexprinherited |
Returns a reference to the underlying storage.
The returned type is std::vector, possibly with a custom allocator type.
|
inlineconstexprinherited |
Returns a reference to the underlying storage.
The returned type is std::vector, possibly with a custom allocator type.
|
inlineconstexprinherited |
Returns the index of the first element that satisfies the predicate or std::nullopt if none is found.
|
inlineconstexprinherited |
Returns the index of the last element that satisfies the predicate or std::nullopt if none is found.
|
inlineconstexprinherited |
Returns the index of the first element that compares true to value or std::nullopt if none is found.
|
inlineconstexprinherited |
Returns the index of the last element that compares true to value or std::nullopt if none is found.
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineinherited |
Inserts value before the element referenced by pos and returns an iterator to the inserted value.
pos must refer to an element in this Vector.
This is a standard interface function forwarded to std::vector::insert().
|
inlineinherited |
Inserts value before the element referenced by pos and returns an iterator to the inserted value.
pos must refer to an element in this Vector.
This is a standard interface function forwarded to std::vector::insert().
|
inlineinherited |
Inserts a range of values before the element referenced by pos and returns an iterator to the inserted values.
pos must refer to an element in this Vector, first and last must denote the begin and end of the range to be inserted. The inserted range must not be part of this Vector.
This is a standard interface function forwarded to std::vector::insert().
|
inlineinherited |
Inserts numCopies copies of value before the element referenced by pos and returns an iterator to the inserted values.
pos must refer to an element in this Vector.
This is a standard interface function forwarded to std::vector::insert().
|
inlineinherited |
Inserts a list of values before the element referenced by pos and returns an iterator to the first inserted value.
pos must refer to an element in this Vector.
This is a standard interface function forwarded to std::vector::insert().
|
inlineinherited |
Inserts a VCTR container before the element referenced by pos and returns an iterator to the first inserted value.
pos must refer to an element in this Vector. If moveValuesFromSrc is true, the function attempts that it's safe to move the values out of vtrToInsert even if we pass it by reference or as a vctr::Span. This will invalidate that source values.
|
inlineinherited |
Inserts value at index idx and returns an iterator to the inserted value.
|
inlineinherited |
Inserts value at index idx and returns an iterator to the inserted value.
|
inlineinherited |
Inserts a range of values at index idx and returns an iterator to the inserted values.
First and last must denote the begin and end of the range to be inserted. The inserted range must not be part of this Vector.
|
inlineinherited |
Inserts numCopies copies of value at index idx and returns an iterator to the inserted values.
|
inlineinherited |
Inserts a list of values at index idx and returns an iterator to the first inserted value.
|
inlineinherited |
Inserts a VCTR container at index idx and returns an iterator to the first inserted value.
If moveValuesFromSrc is true, the function attempts that it's safe to move the values out of vtrToInsert even if we pass it by reference or as a vctr::Span. This will invalidate that source values.
|
constexprinherited |
Returns the maximum value of all elements.
|
inlineconstexprnoexceptinherited |
Returns the maximum number of elements the container is able to hold.
|
constexprinherited |
Returns the maximum absolute value of all elements.
|
constexprinherited |
Returns the mean value across all elements.
|
constexprinherited |
Returns the mean value across all squared elements.
|
constexprinherited |
Returns the minimal value of all elements.
|
constexprinherited |
Returns the minimal absolute value of all elements.
|
inlineconstexprinherited |
Moves the underlying storage out of this wrapper class.
The returned type is std::vector, possibly with a custom allocator type.
|
inlineconstexprinherited |
Conversion operator shortcut to getUnderlyingVector.
|
inlineinherited |
|
inlineconstexprinherited |
Conversion operator shortcut to getUnderlyingVector.
|
constexprinherited |
Multiplies this by a vector or expression in place.
|
constexprinherited |
Multiplies this by a constant in place.
|
constexprinherited |
Adds a vector or expression to this in place.
In the special case where a multiplication expression is assigned for which none of the operands are expressions themselves, this will try to use accelerated multiply accumulate operations to evaluate the expression.
Example:
|
constexprinherited |
Adds a constant to this in place.
|
constexprinherited |
Subtracts a vector or expression from this in place.
|
constexprinherited |
Subtracts a constant from this in place.
|
constexprinherited |
Divides this by a vector or expression in place.
|
constexprinherited |
Divides this by a constant in place.
|
inlineconstexprinherited |
Returns a reference to element i.
Asserts in debug builds if i >= size()
|
inlineconstexprinherited |
Returns a reference to element i.
Asserts in debug builds if i >= size()
|
inlineconstexprinherited |
Removes the last element in the vector, effectively reducing the container size by one.
In addition to std::vector::pop_back, this implementation also return the popped element. Calling pop_back on an empty vector causes undefined behaviour.
|
inlineconstexprinherited |
Adds an element to the end of the Vector.
This is a standard interface function forwarded to std::vector::push_back() but it adds a return value.
|
inlineconstexprinherited |
Adds an element to the end of the Vector.
This is a standard interface function forwarded to std::vector::push_back() but it adds a return value.
|
inlineconstexprinherited |
Returns a reverse iterator to the last element in the storage.
|
inlineconstexprinherited |
Returns a const reverse iterator to the last element in the storage.
|
inlineconstexprinherited |
Returns a reverse iterator to the element before the first element in the storage.
|
inlineconstexprinherited |
Returns a const reverse iterator to the element before the first element in the storage.
|
inlineconstexprinherited |
Pre-allocates memory for the given number of elements.
This is a standard interface function forwarded to std::vector::reserve().
|
inlineconstexprinherited |
Changes the size of this Vector, potentially allocating memory.
This is a standard interface function forwarded to std::vector::resize().
|
inlineconstexprinherited |
Reverses the order of all elements.
|
constexprinherited |
Returns the square root of the mean value across all squared elements.
|
inlineconstexprinherited |
Rotates the elements so that the element with the index newFirstElementIdx becomes the first element and the element with the index newFirstElementIdx - 1 becomes the last element.
|
inlineinherited |
Shifts all elements to the left by n.
In other words: It shifts the elements so that the element with the index n becomes the first element. If clearFreeSpaceAfterShiftedRegion is true, it clears all elements behind the shifted region by setting the memory to 0, otherwise it leaves that region as it was. For maximum efficiency, this works on a raw memory basis, so the elements have to be trivially copyable.
|
inlineinherited |
Shifts all elements to the right by n.
In other words: It shifts the elements so that the previous first element now is the element with the index n. If clearFreeSpaceBeforeShiftedRegion is true, it clears all elements before the shifted region by setting the memory to 0, otherwise it leaves that region as it was. For maximum efficiency, this works on a raw memory basis, so the elements have to be trivially copyable.
|
inlineconstexprinherited |
Adjusts the allocated memory to the actual number of elements.
This is a standard interface function forwarded to std::vector::shrink_to_fit().
|
inlineconstexprnoexceptinherited |
Returns the number of elements.
This overload is a non-static function, used in case the extent is dynamic.
|
inlinestaticconstexprnoexceptinherited |
Returns the number of elements.
This overload is a static function, used in case the extent is static.
|
inlineconstexprnoexceptinherited |
Returns the container size in bytes.
This overload is a non-static function, used in case the extent is dynamic.
|
inlinestaticconstexprnoexceptinherited |
Returns the container size in bytes.
This overload is a static function, used in case the extent is static.
|
inlineconstexprinherited |
Sorts all elements in an ascending order using operator <=>.
|
inlineconstexprinherited |
Sorts all elements in this vector according to the compare function.
The compare function should receive true if the first argument is less than the second argument.
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
constexprinherited |
Returns the sum of all elements.
|
inlineconstexprnoexceptinherited |
Swaps the underlying memory with the other Vector.
This is a standard interface function forwarded to std::vector::swap().