|
| using | derived_type = D |
| |
| using | inner_types = xcontainer_inner_types<D> |
| |
| using | storage_type = typename inner_types::storage_type |
| |
| using | allocator_type = allocator_type_t<std::decay_t<storage_type>> |
| |
| using | value_type = typename storage_type::value_type |
| |
| using | reference = typename inner_types::reference |
| |
| using | const_reference = typename inner_types::const_reference |
| |
| using | pointer = typename storage_type::pointer |
| |
| using | const_pointer = typename storage_type::const_pointer |
| |
| using | size_type = typename inner_types::size_type |
| |
| using | difference_type = typename storage_type::difference_type |
| |
| using | simd_value_type = xt_simd::simd_type<value_type> |
| |
| using | bool_load_type = xt::bool_load_type<value_type> |
| |
| using | shape_type = typename inner_types::shape_type |
| |
| using | strides_type = typename inner_types::strides_type |
| |
| using | backstrides_type = typename inner_types::backstrides_type |
| |
| using | inner_shape_type = typename inner_types::inner_shape_type |
| |
| using | inner_strides_type = typename inner_types::inner_strides_type |
| |
| using | inner_backstrides_type = typename inner_types::inner_backstrides_type |
| |
| using | iterable_base = xcontiguous_iterable<D> |
| |
| using | stepper = typename iterable_base::stepper |
| |
| using | const_stepper = typename iterable_base::const_stepper |
| |
| using | accessible_base = xaccessible<D> |
| |
| using | data_alignment = xt_simd::container_alignment_t<storage_type> |
| |
| using | simd_type = xt_simd::simd_type<value_type> |
| |
| using | linear_iterator = typename iterable_base::linear_iterator |
| |
| using | const_linear_iterator = typename iterable_base::const_linear_iterator |
| |
| using | reverse_linear_iterator = typename iterable_base::reverse_linear_iterator |
| |
| using | const_reverse_linear_iterator = typename iterable_base::const_reverse_linear_iterator |
| |
| template<class requested_type> |
| using | simd_return_type = xt_simd::simd_return_type<value_type, requested_type> |
| |
| using | container_iterator = linear_iterator |
| |
| using | const_container_iterator = const_linear_iterator |
| |
| using | derived_type = D |
| |
| using | inner_types = xcontainer_inner_types<D> |
| |
| using | iterable_base = xiterable<D> |
| |
| using | stepper = typename iterable_base::stepper |
| |
| using | const_stepper = typename iterable_base::const_stepper |
| |
| template<layout_type L> |
| using | layout_iterator = typename iterable_base::template layout_iterator<L> |
| |
| template<layout_type L> |
| using | const_layout_iterator = typename iterable_base::template const_layout_iterator<L> |
| |
| template<layout_type L> |
| using | reverse_layout_iterator = typename iterable_base::template reverse_layout_iterator<L> |
| |
| template<layout_type L> |
| using | const_reverse_layout_iterator = typename iterable_base::template const_reverse_layout_iterator<L> |
| |
| template<class S, layout_type L> |
| using | broadcast_iterator = typename iterable_base::template broadcast_iterator<S, L> |
| |
| template<class S, layout_type L> |
| using | const_broadcast_iterator = typename iterable_base::template const_broadcast_iterator<S, L> |
| |
| template<class S, layout_type L> |
| using | reverse_broadcast_iterator = typename iterable_base::template reverse_broadcast_iterator<S, L> |
| |
| template<class S, layout_type L> |
| using | const_reverse_broadcast_iterator = typename iterable_base::template const_reverse_broadcast_iterator<S, L> |
| |
| using | linear_traits = detail::linear_iterator_traits<D> |
| |
| using | linear_iterator = typename linear_traits::linear_iterator |
| |
| using | const_linear_iterator = typename linear_traits::const_linear_iterator |
| |
| using | reverse_linear_iterator = typename linear_traits::reverse_linear_iterator |
| |
| using | const_reverse_linear_iterator = typename linear_traits::const_reverse_linear_iterator |
| |
| template<layout_type L, class It1, class It2> |
| using | select_iterator_impl = std::conditional_t<L == static_layout, It1, It2> |
| |
| template<layout_type L> |
| using | select_iterator = select_iterator_impl<L, linear_iterator, layout_iterator<L>> |
| |
| template<layout_type L> |
| using | select_const_iterator = select_iterator_impl<L, const_linear_iterator, const_layout_iterator<L>> |
| |
| template<layout_type L> |
| using | select_reverse_iterator = select_iterator_impl<L, reverse_linear_iterator, reverse_layout_iterator<L>> |
| |
| template<layout_type L> |
| using | select_const_reverse_iterator |
| |
| using | iterator = select_iterator< ::xt::layout_type::row_major > |
| |
| using | const_iterator = select_const_iterator< ::xt::layout_type::row_major > |
| |
| using | reverse_iterator = select_reverse_iterator< ::xt::layout_type::row_major > |
| |
| using | const_reverse_iterator = select_const_reverse_iterator< ::xt::layout_type::row_major > |
| |
|
|
template<class... Args> |
| reference | operator() (Args... args) |
| |
|
template<class... Args> |
| const_reference | operator() (Args... args) const |
| |
|
template<class... Args> |
| reference | unchecked (Args... args) |
| |
|
template<class... Args> |
| const_reference | unchecked (Args... args) const |
| |
|
template<class It> |
| reference | element (It first, It last) |
| |
|
template<class It> |
| const_reference | element (It first, It last) const |
| |
|
template<class S> |
| stepper | stepper_begin (const S &shape) noexcept |
| |
|
template<class S> |
| stepper | stepper_end (const S &shape, layout_type l) noexcept |
| |
|
template<class S> |
| const_stepper | stepper_begin (const S &shape) const noexcept |
| |
|
template<class S> |
| const_stepper | stepper_end (const S &shape, layout_type l) const noexcept |
| |
|
template<class align, class requested_type = value_type, std::size_t N = xt_simd::simd_traits<requested_type>::size> |
| container_simd_return_type_t< storage_type, value_type, requested_type > | load_simd (size_type i) const |
| |
|
template<class... Args> |
| reference | at (Args... args) |
| |
|
template<class S> |
| disable_integral_t< S, reference > | operator[] (const S &index) |
| |
|
template<class I> |
| reference | operator[] (std::initializer_list< I > index) |
| |
| reference | operator[] (size_type i) |
| |
| reference | back () |
| | Returns a reference to the last element of the expression.
|
| |
| reference | front () |
| | Returns a reference to the first element of the expression.
|
| |
|
template<class... Args> |
| reference | periodic (Args... args) |
| |
|
| size_type | size () const noexcept |
| | Returns the number of element in the container.
|
| |
| constexpr size_type | dimension () const noexcept |
| | Returns the number of dimensions of the container.
|
| |
| constexpr const inner_shape_type & | shape () const noexcept |
| | Returns the shape of the container.
|
| |
| constexpr const inner_strides_type & | strides () const noexcept |
| | Returns the strides of the container.
|
| |
| constexpr const inner_backstrides_type & | backstrides () const noexcept |
| | Returns the backstrides of the container.
|
| |
|
| template<class T> |
| void | fill (const T &value) |
| | Fills the container with the given value.
|
| |
| storage_type & | storage () noexcept |
| | Returns a reference to the buffer containing the elements of the container.
|
| |
| const storage_type & | storage () const noexcept |
| | Returns a constant reference to the buffer containing the elements of the container.
|
| |
| pointer | data () noexcept |
| | Returns a pointer to the underlying array serving as element storage.
|
| |
| const_pointer | data () const noexcept |
| | Returns a constant pointer to the underlying array serving as element storage.
|
| |
| const size_type | data_offset () const noexcept |
| | Returns the offset to the first element in the container.
|
| |
| template<class... Args> |
| auto | operator() (Args... args) -> reference |
| | Returns a reference to the element at the specified position in the container.
|
| |
| template<class... Args> |
| auto | operator() (Args... args) const -> const_reference |
| | Returns a constant reference to the element at the specified position in the container.
|
| |
| template<class... Args> |
| auto | unchecked (Args... args) -> reference |
| | Returns a reference to the element at the specified position in the container.
|
| |
| template<class... Args> |
| auto | unchecked (Args... args) const -> const_reference |
| | Returns a constant reference to the element at the specified position in the container.
|
| |
| template<class It> |
| auto | element (It first, It last) -> reference |
| | Returns a reference to the element at the specified position in the container.
|
| |
| template<class It> |
| auto | element (It first, It last) const -> const_reference |
| | Returns a reference to the element at the specified position in the container.
|
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_iterator< L > | begin () noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_iterator< L > | end () noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_iterator< L > | begin () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_iterator< L > | end () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_iterator< L > | cbegin () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_iterator< L > | cend () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_reverse_iterator< L > | rbegin () noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_reverse_iterator< L > | rend () noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_reverse_iterator< L > | rbegin () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_reverse_iterator< L > | rend () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_reverse_iterator< L > | crbegin () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major> |
| select_const_reverse_iterator< L > | crend () const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| broadcast_iterator< S, L > | begin (const S &shape) noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| broadcast_iterator< S, L > | end (const S &shape) noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_broadcast_iterator< S, L > | begin (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_broadcast_iterator< S, L > | end (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_broadcast_iterator< S, L > | cbegin (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_broadcast_iterator< S, L > | cend (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| reverse_broadcast_iterator< S, L > | rbegin (const S &shape) noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| reverse_broadcast_iterator< S, L > | rend (const S &shape) noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_reverse_broadcast_iterator< S, L > | rbegin (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_reverse_broadcast_iterator< S, L > | rend (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_reverse_broadcast_iterator< S, L > | crbegin (const S &shape) const noexcept |
| |
|
template<layout_type L = ::xt::layout_type::row_major, class S> |
| const_reverse_broadcast_iterator< S, L > | crend (const S &shape) const noexcept |
| |
| template<layout_type L> |
| auto | begin () noexcept -> select_iterator< L > |
| | Returns an iterator to the first element of the expression.
|
| |
| template<layout_type L> |
| auto | end () noexcept -> select_iterator< L > |
| | Returns an iterator to the element following the last element of the expression.
|
| |
| template<layout_type L> |
| auto | begin () const noexcept -> select_const_iterator< L > |
| | Returns a constant iterator to the first element of the expression.
|
| |
| template<layout_type L> |
| auto | end () const noexcept -> select_const_iterator< L > |
| | Returns a constant iterator to the element following the last element of the expression.
|
| |
| template<layout_type L> |
| auto | cbegin () const noexcept -> select_const_iterator< L > |
| | Returns a constant iterator to the first element of the expression.
|
| |
| template<layout_type L> |
| auto | cend () const noexcept -> select_const_iterator< L > |
| | Returns a constant iterator to the element following the last element of the expression.
|
| |
| template<layout_type L> |
| auto | rbegin () noexcept -> select_reverse_iterator< L > |
| | Returns an iterator to the first element of the reversed expression.
|
| |
| template<layout_type L> |
| auto | rend () noexcept -> select_reverse_iterator< L > |
| | Returns an iterator to the element following the last element of the reversed expression.
|
| |
| template<layout_type L> |
| auto | rbegin () const noexcept -> select_const_reverse_iterator< L > |
| | Returns a constant iterator to the first element of the reversed expression.
|
| |
| template<layout_type L> |
| auto | rend () const noexcept -> select_const_reverse_iterator< L > |
| | Returns a constant iterator to the element following the last element of the reversed expression.
|
| |
| template<layout_type L> |
| auto | crbegin () const noexcept -> select_const_reverse_iterator< L > |
| | Returns a constant iterator to the first element of the reversed expression.
|
| |
| template<layout_type L> |
| auto | crend () const noexcept -> select_const_reverse_iterator< L > |
| | Returns a constant iterator to the element following the last element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | begin (const S &shape) noexcept -> broadcast_iterator< S, L > |
| | Returns an iterator to the first element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | end (const S &shape) noexcept -> broadcast_iterator< S, L > |
| | Returns an iterator to the element following the last element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
| | Returns a constant iterator to the first element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | end (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
| | Returns a constant iterator to the element following the last element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | cbegin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
| | Returns a constant iterator to the first element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | cend (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
| | Returns a constant iterator to the element following the last element of the expression.
|
| |
| template<layout_type L, class S> |
| auto | rbegin (const S &shape) noexcept -> reverse_broadcast_iterator< S, L > |
| | Returns an iterator to the first element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | rend (const S &shape) noexcept -> reverse_broadcast_iterator< S, L > |
| | Returns an iterator to the element following the last element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | rbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > |
| | Returns a constant iterator to the first element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | rend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > |
| | Returns a constant iterator to the element following the last element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | crbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > |
| | Returns a constant iterator to the first element of the reversed expression.
|
| |
| template<layout_type L, class S> |
| auto | crend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > |
| | Returns a constant iterator to the element following the last element of the reversed expression.
|
| |