xtensor
 
Loading...
Searching...
No Matches
xt::xdynamic_view< CT, S, L, FST > Class Template Reference
Inheritance diagram for xt::xdynamic_view< CT, S, L, FST >:
xt::xview_semantic< D > xt::xiterable< D > xt::xstrided_view_base< D > xt::xsemantic_base< D > xt::xconst_iterable< D >

Public Types

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>>
 
- Public Types inherited from xt::xview_semantic< D >
using base_type = xsemantic_base<D>
 
using derived_type = D
 
using temporary_type = typename base_type::temporary_type
 
- Public Types inherited from xt::xsemantic_base< D >
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
 
- Public Types inherited from xt::xiterable< D >
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
 
- Public Types inherited from xt::xconst_iterable< D >
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 >
 

Public Member Functions

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_typeoperator= (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.
 
- Public Member Functions inherited from xt::xview_semantic< D >
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 &
 
- Public Member Functions inherited from xt::xsemantic_base< D >
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 &
 
- Public Member Functions inherited from xt::xiterable< D >
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
 
- Public Member Functions inherited from xt::xconst_iterable< D >
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
 

Static Public Attributes

static constexpr bool is_const
 
static constexpr bool contiguous_layout
 
static constexpr layout_type static_layout
 

Friends

template<class C>
class xstepper
 
class xview_semantic< self_type >
 
class xaccessible< self_type >
 
class xconst_accessible< self_type >
 

Additional Inherited Members

- Protected Member Functions inherited from xt::xview_semantic< D >
 xview_semantic (const xview_semantic &)=default
 
xview_semanticoperator= (const xview_semantic &)=default
 
 xview_semantic (xview_semantic &&)=default
 
xview_semanticoperator= (xview_semantic &&)=default
 
template<class E>
derived_type & operator= (const xexpression< E > &)
 
- Protected Member Functions inherited from xt::xsemantic_base< D >
 xsemantic_base (const xsemantic_base &)=default
 
xsemantic_baseoperator= (const xsemantic_base &)=default
 
 xsemantic_base (xsemantic_base &&)=default
 
xsemantic_baseoperator= (xsemantic_base &&)=default
 
template<class E>
derived_type & operator= (const xexpression< E > &)
 
const inner_shape_type & get_shape () const
 

Detailed Description

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
class xt::xdynamic_view< CT, S, L, FST >

Definition at line 97 of file xdynamic_view.hpp.

Member Typedef Documentation

◆ backstrides_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::backstrides_type = typename base_type::backstrides_type

Definition at line 131 of file xdynamic_view.hpp.

◆ base_index_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::base_index_type = xindex_type_t<shape_type>

Definition at line 140 of file xdynamic_view.hpp.

◆ base_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::base_type = xstrided_view_base<self_type>

Definition at line 105 of file xdynamic_view.hpp.

◆ bool_load_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::bool_load_type = typename base_type::bool_load_type

Definition at line 143 of file xdynamic_view.hpp.

◆ const_container_iterator

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::const_container_iterator = typename storage_type::const_iterator

Definition at line 238 of file xdynamic_view.hpp.

◆ const_pointer

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::const_pointer = typename base_type::const_pointer

Definition at line 117 of file xdynamic_view.hpp.

◆ const_reference

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::const_reference = typename base_type::const_reference

Definition at line 115 of file xdynamic_view.hpp.

◆ const_stepper

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::const_stepper = typename iterable_base::const_stepper

Definition at line 134 of file xdynamic_view.hpp.

◆ container_iterator

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::container_iterator
Initial value:
std::
conditional_t<is_const, typename storage_type::const_iterator, typename storage_type::iterator>

Definition at line 236 of file xdynamic_view.hpp.

◆ difference_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::difference_type = typename base_type::difference_type

Definition at line 119 of file xdynamic_view.hpp.

◆ expression_tag

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::expression_tag = typename extension_base::expression_tag

Definition at line 108 of file xdynamic_view.hpp.

◆ extension_base

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::extension_base = extension::xdynamic_view_base_t<CT, S, L, FST>

Definition at line 107 of file xdynamic_view.hpp.

◆ inner_backstrides_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::inner_backstrides_type = typename base_type::inner_backstrides_type

Definition at line 127 of file xdynamic_view.hpp.

◆ inner_shape_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::inner_shape_type = typename iterable_base::inner_shape_type

Definition at line 125 of file xdynamic_view.hpp.

◆ inner_storage_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::inner_storage_type = typename base_type::inner_storage_type

Definition at line 121 of file xdynamic_view.hpp.

◆ inner_strides_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::inner_strides_type = typename base_type::inner_strides_type

Definition at line 126 of file xdynamic_view.hpp.

◆ iterable_base

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::iterable_base = xiterable<self_type>

Definition at line 124 of file xdynamic_view.hpp.

◆ pointer

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::pointer = typename base_type::pointer

Definition at line 116 of file xdynamic_view.hpp.

◆ rebind_t

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class E>
using xt::xdynamic_view< CT, S, L, FST >::rebind_t = xdynamic_view<E, S, L, typename FST::template rebind_t<E>>

Definition at line 241 of file xdynamic_view.hpp.

◆ reference

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::reference = typename base_type::reference

Definition at line 114 of file xdynamic_view.hpp.

◆ self_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::self_type = xdynamic_view<CT, S, L, FST>

Definition at line 104 of file xdynamic_view.hpp.

◆ semantic_base

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::semantic_base = xview_semantic<self_type>

Definition at line 106 of file xdynamic_view.hpp.

◆ shape_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::shape_type = typename base_type::shape_type

Definition at line 129 of file xdynamic_view.hpp.

◆ simd_value_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::simd_value_type = typename base_type::simd_value_type

Definition at line 142 of file xdynamic_view.hpp.

◆ size_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::size_type = typename base_type::size_type

Definition at line 118 of file xdynamic_view.hpp.

◆ slice_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::slice_type = xtl::variant<detail::xfake_slice<strides_vt>, xkeep_slice<strides_vt>, xdrop_slice<strides_vt>>

Definition at line 146 of file xdynamic_view.hpp.

◆ slice_vector_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::slice_vector_type = std::vector<slice_type>

Definition at line 147 of file xdynamic_view.hpp.

◆ stepper

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::stepper = typename iterable_base::stepper

Definition at line 133 of file xdynamic_view.hpp.

◆ storage_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::storage_type = typename base_type::storage_type

Definition at line 122 of file xdynamic_view.hpp.

◆ strides_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::strides_type = typename base_type::strides_type

Definition at line 130 of file xdynamic_view.hpp.

◆ strides_vt

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::strides_vt = typename strides_type::value_type

Definition at line 145 of file xdynamic_view.hpp.

◆ temporary_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::temporary_type = typename xcontainer_inner_types<self_type>::temporary_type

Definition at line 139 of file xdynamic_view.hpp.

◆ value_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::value_type = typename base_type::value_type

Definition at line 113 of file xdynamic_view.hpp.

◆ xexpression_type

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
using xt::xdynamic_view< CT, S, L, FST >::xexpression_type = typename base_type::xexpression_type

Definition at line 110 of file xdynamic_view.hpp.

Constructor & Destructor Documentation

◆ xdynamic_view()

template<class CT, class S, layout_type L, class FST>
template<class CTA, class SA>
xt::xdynamic_view< CT, S, L, FST >::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 )
inlinenoexcept

Definition at line 383 of file xdynamic_view.hpp.

Member Function Documentation

◆ adjust_element_offset()

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class It>
auto xt::xdynamic_view< CT, S, L, FST >::adjust_element_offset ( offset_type offset,
It first,
It last ) const -> offset_type
inlinenoexcept

Definition at line 673 of file xdynamic_view.hpp.

◆ adjust_offset()

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class T, class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::adjust_offset ( offset_type offset,
T idx,
Args... args ) const -> offset_type
inlinenoexcept

Definition at line 629 of file xdynamic_view.hpp.

◆ adjust_offset_impl()

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class T, class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::adjust_offset_impl ( offset_type offset,
size_type idx_offset,
T idx,
Args... args ) const -> offset_type
inlinenoexcept

Definition at line 648 of file xdynamic_view.hpp.

◆ broadcast_shape()

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
bool xt::xstrided_view_base< self_type >::broadcast_shape ( O & shape,
bool reuse_cache = false ) const

Broadcast the shape of the view to the specified parameter.

Parameters
shapethe result shape
reuse_cacheparameter for internal optimization
Returns
a boolean indicating whether the broadcasting is trivial

◆ build_view()

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class E>
auto xt::xdynamic_view< CT, S, L, FST >::build_view ( E && e) const -> rebind_t<E>
inline

Definition at line 560 of file xdynamic_view.hpp.

◆ data_offset()

template<class CT, class S, layout_type L, class FST>
auto xt::xdynamic_view< CT, S, L, FST >::data_offset ( ) const
inlinenoexcept

Definition at line 505 of file xdynamic_view.hpp.

◆ element() [1/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class It>
auto xt::xdynamic_view< CT, S, L, FST >::element ( It first,
It last ) -> reference
inline

Definition at line 486 of file xdynamic_view.hpp.

◆ element() [2/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class It>
auto xt::xdynamic_view< CT, S, L, FST >::element ( It first,
It last ) const -> const_reference
inline

Definition at line 496 of file xdynamic_view.hpp.

◆ fill()

template<class CT, class S, layout_type L, class FST>
template<class T>
void xt::xdynamic_view< CT, S, L, FST >::fill ( const T & value)
inline

Definition at line 520 of file xdynamic_view.hpp.

◆ flat() [1/2]

template<class CT, class S, layout_type L, class FST>
auto xt::xdynamic_view< CT, S, L, FST >::flat ( size_type index)
inline

Definition at line 473 of file xdynamic_view.hpp.

◆ flat() [2/2]

template<class CT, class S, layout_type L, class FST>
auto xt::xdynamic_view< CT, S, L, FST >::flat ( size_type index) const
inline

Definition at line 479 of file xdynamic_view.hpp.

◆ has_linear_assign()

template<class CT, class S, layout_type L, class FST>
template<class O>
bool xt::xdynamic_view< CT, S, L, FST >::has_linear_assign ( const O & str) const
inlinenoexcept

Definition at line 449 of file xdynamic_view.hpp.

◆ operator()() [1/4]

template<class CT, class S, layout_type L, class FST>
auto xt::xdynamic_view< CT, S, L, FST >::operator() ( )
inline

Definition at line 414 of file xdynamic_view.hpp.

◆ operator()() [2/4]

template<class CT, class S, layout_type L, class FST>
auto xt::xdynamic_view< CT, S, L, FST >::operator() ( ) const
inline

Definition at line 420 of file xdynamic_view.hpp.

◆ operator()() [3/4]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::operator() ( Args... args) -> reference
inline

Definition at line 427 of file xdynamic_view.hpp.

◆ operator()() [4/4]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::operator() ( Args... args) const -> const_reference
inline

Definition at line 438 of file xdynamic_view.hpp.

◆ operator=() [1/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class E>
auto xt::xdynamic_view< CT, S, L, FST >::operator= ( const E & e) -> disable_xexpression<E, self_type>&
inline

Definition at line 407 of file xdynamic_view.hpp.

◆ operator=() [2/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class E>
auto xt::xdynamic_view< CT, S, L, FST >::operator= ( const xexpression< E > & e) -> self_type&
inline

Definition at line 400 of file xdynamic_view.hpp.

◆ stepper_begin() [1/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class ST>
auto xt::xdynamic_view< CT, S, L, FST >::stepper_begin ( const ST & shape) -> stepper
inline

Definition at line 527 of file xdynamic_view.hpp.

◆ stepper_begin() [2/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class ST>
auto xt::xdynamic_view< CT, S, L, FST >::stepper_begin ( const ST & shape) const -> const_stepper
inline

Definition at line 543 of file xdynamic_view.hpp.

◆ stepper_end() [1/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class ST>
auto xt::xdynamic_view< CT, S, L, FST >::stepper_end ( const ST & shape,
layout_type  ) -> stepper
inline

Definition at line 535 of file xdynamic_view.hpp.

◆ stepper_end() [2/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class ST>
auto xt::xdynamic_view< CT, S, L, FST >::stepper_end ( const ST & shape,
layout_type  ) const -> const_stepper
inline

Definition at line 551 of file xdynamic_view.hpp.

◆ unchecked() [1/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::unchecked ( Args... args) -> reference
inline

Definition at line 456 of file xdynamic_view.hpp.

◆ unchecked() [2/2]

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class... Args>
auto xt::xdynamic_view< CT, S, L, FST >::unchecked ( Args... args) const -> const_reference
inline

Definition at line 465 of file xdynamic_view.hpp.

Friends And Related Symbol Documentation

◆ xaccessible< self_type >

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
friend class xaccessible< self_type >
friend

Definition at line 279 of file xdynamic_view.hpp.

◆ xconst_accessible< self_type >

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
friend class xconst_accessible< self_type >
friend

Definition at line 279 of file xdynamic_view.hpp.

◆ xstepper

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
template<class C>
friend class xstepper
friend

Definition at line 279 of file xdynamic_view.hpp.

◆ xview_semantic< self_type >

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
friend class xview_semantic< self_type >
friend

Definition at line 279 of file xdynamic_view.hpp.

Member Data Documentation

◆ contiguous_layout

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
bool xt::xstrided_view_base< self_type >::contiguous_layout
staticconstexpr

Definition at line 133 of file xstrided_view_base.hpp.

◆ is_const

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
bool xt::xstrided_view_base< self_type >::is_const
staticconstexpr

Definition at line 104 of file xstrided_view_base.hpp.

◆ static_layout

template<class CT, class S, layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
layout_type xt::xstrided_view_base< self_type >::static_layout
staticconstexpr

Definition at line 132 of file xstrided_view_base.hpp.


The documentation for this class was generated from the following file: