4#include <initializer_list>
6#include <stratax/core/dtypes/Concepts.hpp>
7#include <stratax/core/ArrayBase.hpp>
8#include <stratax/core/Buffer.hpp>
9#include <stratax/core/Shape.hpp>
10#include <stratax/exceptions/Exceptions.hpp>
12namespace stratax::container {
116 Vector(std::initializer_list<value_type> list)
One-dimensional owning array of numeric values.
typename core::ArrayBase< T >::reference reference
Mutable element reference type.
typename core::ArrayBase< T >::const_pointer const_pointer
Read-only element pointer type.
typename core::ArrayBase< T >::const_iterator const_iterator
Read-only contiguous random-access iterator type.
typename core::ArrayBase< T >::difference_type difference_type
Signed type used for checked indices and iterator distances.
typename core::ArrayBase< T >::value_type value_type
Stored element type inherited from ArrayBase.
typename core::ArrayBase< T >::const_reverse_iterator const_reverse_iterator
Read-only reverse iterator type.
typename core::ArrayBase< T >::const_reference const_reference
Read-only element reference type.
typename core::ArrayBase< T >::size_type size_type
Unsigned type used for element counts and indices.
void swap(Vector &other) noexcept
Exchanges storage and layout metadata with other.
Vector(const core::Shape &shape)
Constructs a value-initialized vector from a rank-one shape.
Vector(std::initializer_list< value_type > list)
Constructs a vector by copying an initializer list.
typename core::ArrayBase< T >::pointer pointer
Mutable element pointer type.
friend void swap(Vector &lhs, Vector &rhs) noexcept
Exchanges two vectors using argument-dependent lookup.
typename core::ArrayBase< T >::reverse_iterator reverse_iterator
Mutable reverse iterator type.
typename core::ArrayBase< T >::iterator iterator
Mutable contiguous random-access iterator type.
Vector()
Constructs an empty rank-one vector.
Vector(size_type size)
Constructs a value-initialized vector with size elements.
Vector(size_type size, const_reference value)
Constructs a vector containing size copies of value.
Shared owning storage and layout base for Stratax array containers.
typename Buffer< T >::value_type value_type
Stored element type.
typename Buffer< value_type >::pointer pointer
Mutable element pointer type.
typename Buffer< value_type >::const_reference const_reference
Read-only element reference type.
ArrayBase(const Shape &shape)
Constructs value-initialized storage for shape.
const Shape & shape() const noexcept
Returns the logical shape metadata.
size_type size() const noexcept
Returns the number of stored elements.
typename Buffer< value_type >::reverse_iterator reverse_iterator
Mutable reverse iterator type.
typename Buffer< value_type >::const_reverse_iterator const_reverse_iterator
Read-only reverse iterator type.
typename Buffer< value_type >::const_pointer const_pointer
Read-only element pointer type.
typename Buffer< value_type >::difference_type difference_type
Signed type used for checked indices and iterator distances.
typename Buffer< value_type >::iterator iterator
Mutable contiguous random-access iterator type.
typename Buffer< value_type >::const_iterator const_iterator
Read-only contiguous random-access iterator type.
typename Buffer< value_type >::reference reference
Mutable element reference type.
void swap(ArrayBase &other) noexcept
Exchanges storage and layout metadata with other.
typename Buffer< value_type >::size_type size_type
Unsigned type used for element counts and indices.
Stores the dimensions of a multidimensional array.
size_type rank() const noexcept
Returns the number of dimensions.