|
using | self_type = xdynamic_view<CT, S, L, FST> |
|
using | base_type = xstrided_view_base<self_type> |
|
using | semantic_base = xview_semantic<self_type> |
|
using | extension_base = extension::xdynamic_view_base_t<CT, S, L, FST> |
|
using | expression_tag = typename extension_base::expression_tag |
|
using | xexpression_type = typename base_type::xexpression_type |
|
using | value_type = typename base_type::value_type |
|
using | reference = typename base_type::reference |
|
using | const_reference = typename base_type::const_reference |
|
using | pointer = typename base_type::pointer |
|
using | const_pointer = typename base_type::const_pointer |
|
using | size_type = typename base_type::size_type |
|
using | difference_type = typename base_type::difference_type |
|
using | inner_storage_type = typename base_type::inner_storage_type |
|
using | storage_type = typename base_type::storage_type |
|
using | iterable_base = xiterable<self_type> |
|
using | inner_shape_type = typename iterable_base::inner_shape_type |
|
using | inner_strides_type = typename base_type::inner_strides_type |
|
using | inner_backstrides_type = typename base_type::inner_backstrides_type |
|
using | shape_type = typename base_type::shape_type |
|
using | strides_type = typename base_type::strides_type |
|
using | backstrides_type = typename base_type::backstrides_type |
|
using | stepper = typename iterable_base::stepper |
|
using | const_stepper = typename iterable_base::const_stepper |
|
using | temporary_type = typename xcontainer_inner_types<self_type>::temporary_type |
|
using | base_index_type = xindex_type_t<shape_type> |
|
using | simd_value_type = typename base_type::simd_value_type |
|
using | bool_load_type = typename base_type::bool_load_type |
|
using | strides_vt = typename strides_type::value_type |
|
using | slice_type = xtl::variant<detail::xfake_slice<strides_vt>, xkeep_slice<strides_vt>, xdrop_slice<strides_vt>> |
|
using | slice_vector_type = std::vector<slice_type> |
|
using | container_iterator |
|
using | const_container_iterator = typename storage_type::const_iterator |
|
template<class E> |
using | rebind_t = xdynamic_view<E, S, L, typename FST::template rebind_t<E>> |
|
using | base_type = xsemantic_base<D> |
|
using | derived_type = D |
|
using | temporary_type = typename base_type::temporary_type |
|
using | base_type = select_expression_base_t<D> |
|
using | derived_type = typename base_type::derived_type |
|
using | temporary_type = typename xcontainer_inner_types<D>::temporary_type |
|
using | derived_type = D |
|
using | base_type = xconst_iterable<D> |
|
using | inner_shape_type = typename base_type::inner_shape_type |
|
using | stepper = typename base_type::stepper |
|
using | const_stepper = typename base_type::const_stepper |
|
using | linear_iterator = typename base_type::linear_iterator |
|
using | reverse_linear_iterator = typename base_type::reverse_linear_iterator |
|
template<layout_type L> |
using | layout_iterator = typename base_type::template layout_iterator<L> |
|
template<layout_type L> |
using | const_layout_iterator = typename base_type::template const_layout_iterator<L> |
|
template<layout_type L> |
using | reverse_layout_iterator = typename base_type::template reverse_layout_iterator<L> |
|
template<layout_type L> |
using | const_reverse_layout_iterator = typename base_type::template const_reverse_layout_iterator<L> |
|
template<class S, layout_type L> |
using | broadcast_iterator = typename base_type::template broadcast_iterator<S, L> |
|
template<class S, layout_type L> |
using | const_broadcast_iterator = typename base_type::template const_broadcast_iterator<S, L> |
|
template<class S, layout_type L> |
using | reverse_broadcast_iterator = typename base_type::template reverse_broadcast_iterator<S, L> |
|
template<class S, layout_type L> |
using | const_reverse_broadcast_iterator = typename base_type::template const_reverse_broadcast_iterator<S, L> |
|
using | iterator = typename base_type::iterator |
|
using | const_iterator = typename base_type::const_iterator |
|
using | reverse_iterator = typename base_type::reverse_iterator |
|
using | const_reverse_iterator = typename base_type::const_reverse_iterator |
|
using | derived_type = D |
|
using | iterable_types = xiterable_inner_types<D> |
|
using | inner_shape_type = typename iterable_types::inner_shape_type |
|
using | stepper = typename iterable_types::stepper |
|
using | const_stepper = typename iterable_types::const_stepper |
|
template<layout_type L> |
using | layout_iterator = xiterator<stepper, inner_shape_type*, L> |
|
template<layout_type L> |
using | const_layout_iterator = xiterator<const_stepper, inner_shape_type*, L> |
|
template<layout_type L> |
using | reverse_layout_iterator = std::reverse_iterator<layout_iterator<L>> |
|
template<layout_type L> |
using | const_reverse_layout_iterator = std::reverse_iterator<const_layout_iterator<L>> |
|
using | linear_iterator = layout_iterator< ::xt::layout_type::row_major > |
|
using | const_linear_iterator = const_layout_iterator< ::xt::layout_type::row_major > |
|
using | reverse_linear_iterator = reverse_layout_iterator< ::xt::layout_type::row_major > |
|
using | const_reverse_linear_iterator = const_reverse_layout_iterator< ::xt::layout_type::row_major > |
|
template<class S, layout_type L> |
using | broadcast_iterator = xiterator<stepper, S, L> |
|
template<class S, layout_type L> |
using | const_broadcast_iterator = xiterator<const_stepper, S, L> |
|
template<class S, layout_type L> |
using | reverse_broadcast_iterator = std::reverse_iterator<broadcast_iterator<S, L>> |
|
template<class S, layout_type L> |
using | const_reverse_broadcast_iterator = std::reverse_iterator<const_broadcast_iterator<S, L>> |
|
using | iterator = layout_iterator< ::xt::layout_type::row_major > |
|
using | const_iterator = const_layout_iterator< ::xt::layout_type::row_major > |
|
using | reverse_iterator = reverse_layout_iterator< ::xt::layout_type::row_major > |
|
using | const_reverse_iterator = const_reverse_layout_iterator< ::xt::layout_type::row_major > |
|
|
template<class CTA, class SA> |
| xdynamic_view (CTA &&e, SA &&shape, get_strides_t< S > &&strides, std::size_t offset, layout_type layout, slice_vector_type &&slices, get_strides_t< S > &&adj_strides) noexcept |
|
template<class E> |
self_type & | operator= (const xexpression< E > &e) |
|
template<class E> |
disable_xexpression< E, self_type > & | operator= (const E &e) |
|
const inner_strides_type & | strides () const noexcept=delete |
|
reference | operator() () |
|
const_reference | operator() () const |
|
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 |
|
reference | flat (size_type index) |
|
const_reference | flat (size_type index) const |
|
template<class It> |
reference | element (It first, It last) |
|
template<class It> |
const_reference | element (It first, It last) const |
|
size_type | data_offset () const noexcept |
|
value_type * | data () noexcept=delete |
|
const value_type * | data () const noexcept=delete |
|
template<class O> |
bool | has_linear_assign (const O &str) const noexcept |
|
template<class T> |
void | fill (const T &value) |
|
template<class ST> |
stepper | stepper_begin (const ST &shape) |
|
template<class ST> |
stepper | stepper_end (const ST &shape, layout_type l) |
|
template<class ST> |
const_stepper | stepper_begin (const ST &shape) const |
|
template<class ST> |
const_stepper | stepper_end (const ST &shape, layout_type l) const |
|
template<class E> |
rebind_t< E > | build_view (E &&e) const |
|
template<class E> |
auto | operator= (const xexpression< E > &e) -> self_type & |
|
template<class E> |
auto | operator= (const E &e) -> disable_xexpression< E, self_type > & |
|
template<class... Args> |
auto | operator() (Args... args) -> reference |
|
template<class... Args> |
auto | operator() (Args... args) const -> const_reference |
|
template<class... Args> |
auto | unchecked (Args... args) -> reference |
|
template<class... Args> |
auto | unchecked (Args... args) const -> const_reference |
|
template<class It> |
auto | element (It first, It last) -> reference |
|
template<class It> |
auto | element (It first, It last) const -> const_reference |
|
template<class ST> |
auto | stepper_begin (const ST &shape) -> stepper |
|
template<class ST> |
auto | stepper_end (const ST &shape, layout_type) -> stepper |
|
template<class ST> |
auto | stepper_begin (const ST &shape) const -> const_stepper |
|
template<class ST> |
auto | stepper_end (const ST &shape, layout_type) const -> const_stepper |
|
template<class E> |
auto | build_view (E &&e) const -> rebind_t< E > |
|
template<class T, class... Args> |
auto | adjust_offset (offset_type offset, T idx, Args... args) const noexcept -> offset_type |
|
template<class T, class... Args> |
auto | adjust_offset_impl (offset_type offset, size_type idx_offset, T idx, Args... args) const noexcept -> offset_type |
|
template<class It> |
auto | adjust_element_offset (offset_type offset, It first, It last) const noexcept -> offset_type |
|
bool | is_contiguous () const noexcept |
|
layout_type | layout () const noexcept |
| Returns the layout of the xtrided_view_base.
|
|
const inner_shape_type & | shape () const noexcept |
| Returns the shape of the xtrided_view_base.
|
|
bool | broadcast_shape (O &shape, bool reuse_cache=false) const |
| Broadcast the shape of the view to the specified parameter.
|
|
xexpression_type & | expression () noexcept |
| Returns a reference to the underlying expression of the view.
|
|
const xexpression_type & | expression () const noexcept |
| Returns a constant reference to the underlying expression of the view.
|
|
storage_type & | storage () noexcept |
| Returns a reference to the buffer containing the elements of the view.
|
|
const storage_type & | storage () const noexcept |
| Returns a constant reference to the buffer containing the elements of the view.
|
|
template<class E> |
derived_type & | assign_xexpression (const xexpression< E > &e) |
|
template<class E> |
derived_type & | computed_assign (const xexpression< E > &e) |
|
template<class E, class F> |
derived_type & | scalar_computed_assign (const E &e, F &&f) |
|
derived_type & | assign_temporary (temporary_type &&) |
| Assigns the temporary tmp to *this .
|
|
template<class E> |
auto | assign_xexpression (const xexpression< E > &e) -> derived_type & |
|
template<class E> |
auto | computed_assign (const xexpression< E > &e) -> derived_type & |
|
template<class E, class F> |
auto | scalar_computed_assign (const E &e, F &&f) -> derived_type & |
|
template<class E> |
auto | operator= (const xexpression< E > &rhs) -> derived_type & |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator+= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator-= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator*= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator/= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator%= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator&= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator|= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator^= (const E &) |
|
template<class E> |
derived_type & | operator+= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator-= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator*= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator/= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator%= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator&= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator|= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator^= (const xexpression< E > &) |
|
template<class E> |
derived_type & | assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | plus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | minus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | multiplies_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | divides_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | modulus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_and_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_or_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_xor_assign (const xexpression< E > &) |
|
template<class E> |
auto | operator+= (const E &e) -> disable_xexpression< E, derived_type & > |
| Adds the scalar e to *this .
|
|
template<class E> |
auto | operator-= (const E &e) -> disable_xexpression< E, derived_type & > |
| Subtracts the scalar e from *this .
|
|
template<class E> |
auto | operator*= (const E &e) -> disable_xexpression< E, derived_type & > |
| Multiplies *this with the scalar e .
|
|
template<class E> |
auto | operator/= (const E &e) -> disable_xexpression< E, derived_type & > |
| Divides *this by the scalar e .
|
|
template<class E> |
auto | operator%= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the remainder of *this after division by the scalar e .
|
|
template<class E> |
auto | operator&= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise and of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator|= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise or of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator^= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise xor of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator+= (const xexpression< E > &e) -> derived_type & |
| Adds the xexpression e to *this .
|
|
template<class E> |
auto | operator-= (const xexpression< E > &e) -> derived_type & |
| Subtracts the xexpression e from *this .
|
|
template<class E> |
auto | operator*= (const xexpression< E > &e) -> derived_type & |
| Multiplies *this with the xexpression e .
|
|
template<class E> |
auto | operator/= (const xexpression< E > &e) -> derived_type & |
| Divides *this by the xexpression e .
|
|
template<class E> |
auto | operator%= (const xexpression< E > &e) -> derived_type & |
| Computes the remainder of *this after division by the xexpression e .
|
|
template<class E> |
auto | operator&= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise and of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | operator|= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise or of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | operator^= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise xor of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | assign (const xexpression< E > &e) -> derived_type & |
| Assigns the xexpression e to *this .
|
|
template<class E> |
auto | plus_assign (const xexpression< E > &e) -> derived_type & |
| Adds the xexpression e to *this .
|
|
template<class E> |
auto | minus_assign (const xexpression< E > &e) -> derived_type & |
| Subtracts the xexpression e to *this .
|
|
template<class E> |
auto | multiplies_assign (const xexpression< E > &e) -> derived_type & |
| Multiplies *this with the xexpression e .
|
|
template<class E> |
auto | divides_assign (const xexpression< E > &e) -> derived_type & |
| Divides *this by the xexpression e .
|
|
template<class E> |
auto | modulus_assign (const xexpression< E > &e) -> derived_type & |
| Computes the remainder of *this after division by the xexpression e .
|
|
template<class E> |
auto | bit_and_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise and of e to *this .
|
|
template<class E> |
auto | bit_or_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise or of e to *this .
|
|
template<class E> |
auto | bit_xor_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise xor of e to *this .
|
|
template<class E> |
auto | operator= (const xexpression< E > &e) -> derived_type & |
|
template<layout_type L = ::xt::layout_type::row_major> |
layout_iterator< L > | begin () noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
layout_iterator< L > | end () noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
reverse_layout_iterator< L > | rbegin () noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
reverse_layout_iterator< L > | rend () 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> |
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> |
const_layout_iterator< L > | begin () const 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> |
const_layout_iterator< L > | end () 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> |
const_reverse_layout_iterator< L > | rbegin () const 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> |
const_reverse_layout_iterator< L > | rend () 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> |
auto | begin () noexcept -> layout_iterator< L > |
| Returns an iterator to the first element of the expression.
|
|
template<layout_type L> |
auto | end () noexcept -> layout_iterator< L > |
| Returns an iterator to the element following the last element of the expression.
|
|
template<layout_type L> |
auto | rbegin () noexcept -> reverse_layout_iterator< L > |
| Returns an iterator to the first element of the reversed expression.
|
|
template<layout_type L> |
auto | rend () noexcept -> reverse_layout_iterator< L > |
| Returns an 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 | 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> |
auto | get_begin (bool end_index) noexcept -> layout_iterator< L > |
|
template<layout_type L> |
auto | get_end (bool end_index) noexcept -> layout_iterator< L > |
|
template<layout_type L, class S> |
auto | get_begin (const S &shape, bool end_index) noexcept -> broadcast_iterator< S, L > |
|
template<layout_type L, class S> |
auto | get_end (const S &shape, bool end_index) noexcept -> broadcast_iterator< S, L > |
|
template<class S> |
auto | get_stepper_begin (const S &shape) noexcept -> stepper |
|
template<class S> |
auto | get_stepper_end (const S &shape, layout_type l) noexcept -> stepper |
|
template<class S> |
auto | get_stepper_begin (const S &shape) const noexcept -> const_stepper |
|
template<class S> |
auto | get_stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_layout_iterator< L > | begin () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_layout_iterator< L > | end () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_layout_iterator< L > | cbegin () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_layout_iterator< L > | cend () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_reverse_layout_iterator< L > | rbegin () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_reverse_layout_iterator< L > | rend () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_reverse_layout_iterator< L > | crbegin () const noexcept |
|
template<layout_type L = ::xt::layout_type::row_major> |
const_reverse_layout_iterator< L > | crend () const 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> |
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 () const noexcept -> const_layout_iterator< L > |
| Returns a constant iterator to the first element of the expression.
|
|
template<layout_type L> |
auto | end () const noexcept -> const_layout_iterator< L > |
| Returns a constant iterator to the element following the last element of the expression.
|
|
template<layout_type L> |
auto | cbegin () const noexcept -> const_layout_iterator< L > |
| Returns a constant iterator to the first element of the expression.
|
|
template<layout_type L> |
auto | cend () const noexcept -> const_layout_iterator< L > |
| Returns a constant iterator to the element following the last element of the expression.
|
|
template<layout_type L> |
auto | rbegin () const noexcept -> const_reverse_layout_iterator< L > |
| Returns a constant iterator to the first element of the reversed expression.
|
|
template<layout_type L> |
auto | rend () const noexcept -> const_reverse_layout_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 -> const_reverse_layout_iterator< L > |
| Returns a constant iterator to the first element of the reversed expression.
|
|
template<layout_type L> |
auto | crend () const noexcept -> const_reverse_layout_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) 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) 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.
|
|
template<layout_type L> |
auto | get_cbegin (bool end_index) const noexcept -> const_layout_iterator< L > |
|
template<layout_type L> |
auto | get_cend (bool end_index) const noexcept -> const_layout_iterator< L > |
|
template<layout_type L, class S> |
auto | get_cbegin (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > |
|
template<layout_type L, class S> |
auto | get_cend (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > |
|
template<class S> |
auto | get_stepper_begin (const S &shape) const noexcept -> const_stepper |
|
template<class S> |
auto | get_stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper |
|