xtensor
Loading...
Searching...
No Matches
xt::xchunked_array< chunk_storage > Class Template Reference
Inheritance diagram for xt::xchunked_array< chunk_storage >:
xt::xaccessible< xchunked_array< chunk_storage > > xt::xiterable< xchunked_array< chunk_storage > > xt::xchunked_semantic< xchunked_array< chunk_storage > > xt::xconst_accessible< D > xt::xconst_iterable< D > xt::xsemantic_base< D >

Public Types

using chunk_storage_type = chunk_storage
 
using chunk_type = typename chunk_storage::value_type
 
using grid_shape_type = typename chunk_storage::shape_type
 
using const_reference = typename chunk_type::const_reference
 
using reference = typename chunk_type::reference
 
using self_type = xchunked_array<chunk_storage>
 
using semantic_base = xchunked_semantic<self_type>
 
using iterable_base = xconst_iterable<self_type>
 
using const_stepper = typename iterable_base::const_stepper
 
using stepper = typename iterable_base::stepper
 
using inner_types = xcontainer_inner_types<self_type>
 
using size_type = typename inner_types::size_type
 
using storage_type = typename inner_types::storage_type
 
using value_type = typename storage_type::value_type
 
using pointer = value_type*
 
using const_pointer = const value_type*
 
using difference_type = std::ptrdiff_t
 
using shape_type = typename chunk_type::shape_type
 
using temporary_type = typename inner_types::temporary_type
 
using bool_load_type = xt::bool_load_type<value_type>
 
using chunk_iterator = xchunk_iterator<self_type>
 
using const_chunk_iterator = xchunk_iterator<const self_type>
 
- Public Types inherited from xt::xaccessible< xchunked_array< chunk_storage > >
using base_type
 
using derived_type
 
using reference
 
using size_type
 
- Public Types inherited from xt::xconst_accessible< D >
using derived_type = D
 
using inner_types = xcontainer_inner_types<D>
 
using reference = typename inner_types::reference
 
using const_reference = typename inner_types::const_reference
 
using size_type = typename inner_types::size_type
 
- Public Types inherited from xt::xiterable< xchunked_array< chunk_storage > >
using derived_type
 
using base_type
 
using inner_shape_type
 
using stepper
 
using const_stepper
 
using linear_iterator
 
using reverse_linear_iterator
 
using layout_iterator
 
using const_layout_iterator
 
using reverse_layout_iterator
 
using const_reverse_layout_iterator
 
using broadcast_iterator
 
using const_broadcast_iterator
 
using reverse_broadcast_iterator
 
using const_reverse_broadcast_iterator
 
using iterator
 
using const_iterator
 
using reverse_iterator
 
using 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 Types inherited from xt::xchunked_semantic< xchunked_array< chunk_storage > >
using base_type
 
using derived_type
 
using 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 Member Functions

template<class S >
 xchunked_array (chunk_storage_type &&chunks, S &&shape, S &&chunk_shape, layout_type chunk_memory_layout=::xt::layout_type::row_major)
 
 xchunked_array (const xchunked_array &)=default
 
xchunked_arrayoperator= (const xchunked_array &)=default
 
 xchunked_array (xchunked_array &&)=default
 
xchunked_arrayoperator= (xchunked_array &&)=default
 
template<class E >
 xchunked_array (const xexpression< E > &e, chunk_storage_type &&chunks, layout_type chunk_memory_layout=::xt::layout_type::row_major)
 
template<class E , class S >
 xchunked_array (const xexpression< E > &e, chunk_storage_type &&chunks, S &&chunk_shape, layout_type chunk_memory_layout=::xt::layout_type::row_major)
 
template<class E >
xchunked_arrayoperator= (const xexpression< E > &e)
 
size_type dimension () const noexcept
 
const shape_type & shape () const noexcept
 
layout_type layout () const noexcept
 
bool is_contiguous () const noexcept
 
template<class... Idxs>
reference operator() (Idxs... idxs)
 
template<class... Idxs>
const_reference operator() (Idxs... idxs) const
 
template<class It >
reference element (It first, It last)
 
template<class It >
const_reference element (It first, It last) const
 
template<class S >
bool broadcast_shape (S &s, bool reuse_cache=false) const
 
template<class S >
bool has_linear_assign (const S &strides) const noexcept
 
template<class S >
stepper stepper_begin (const S &shape) noexcept
 
template<class S >
stepper stepper_end (const S &shape, layout_type) 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) const noexcept
 
const shape_type & chunk_shape () const noexcept
 
size_type grid_size () const noexcept
 
const grid_shape_type & grid_shape () const noexcept
 
chunk_storage_type & chunks ()
 
const chunk_storage_type & chunks () const
 
chunk_iterator chunk_begin ()
 
chunk_iterator chunk_end ()
 
const_chunk_iterator chunk_begin () const
 
const_chunk_iterator chunk_end () const
 
const_chunk_iterator chunk_cbegin () const
 
const_chunk_iterator chunk_cend () const
 
template<class S >
 xchunked_array (CS &&chunks, S &&shape, S &&chunk_shape, layout_type chunk_memory_layout)
 
template<class E >
 xchunked_array (const xexpression< E > &e, CS &&chunks, layout_type chunk_memory_layout)
 
template<class E , class S >
 xchunked_array (const xexpression< E > &e, CS &&chunks, S &&chunk_shape, layout_type chunk_memory_layout)
 
template<class E >
auto operator= (const xexpression< E > &e) -> self_type &
 
template<class... Idxs>
auto operator() (Idxs... idxs) -> reference
 
template<class... Idxs>
auto operator() (Idxs... idxs) 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 S >
auto stepper_begin (const S &shape) noexcept -> stepper
 
template<class S >
auto stepper_end (const S &shape, layout_type) noexcept -> stepper
 
template<class S >
auto stepper_begin (const S &shape) const noexcept -> const_stepper
 
template<class S >
auto stepper_end (const S &shape, layout_type) const noexcept -> const_stepper
 
template<class... Idxs>
auto get_indexes (Idxs... idxs) const -> indexes_type< Idxs... >
 
template<std::size_t... dims, class... Idxs>
auto get_chunk_indexes (std::index_sequence< dims... >, Idxs... idxs) const -> chunk_indexes_type< Idxs... >
 
template<class T , std::size_t N>
auto unpack (const std::array< T, N > &arr) const -> static_indexes_type< N >
 
template<class It >
auto get_indexes_dynamic (It first, It last) const -> dynamic_indexes_type
 
- Public Member Functions inherited from xt::xaccessible< xchunked_array< chunk_storage > >
reference at (Args... args)
 
auto at (Args... args) -> reference
 Returns a reference to the element at the specified position in the expression, after dimension and bounds checking.
 
const_reference at (Args... args) const
 
auto at (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.
 
disable_integral_t< S, reference > operator[] (const S &index)
 
reference operator[] (std::initializer_list< I > index)
 
reference operator[] (size_type i)
 
auto operator[] (const S &index) -> disable_integral_t< S, reference >
 Returns a reference to the element at the specified position in the expression.
 
auto operator[] (std::initializer_list< I > index) -> reference
 
reference periodic (Args... args)
 
auto periodic (Args... args) -> reference
 Returns a reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed).
 
const_reference periodic (Args... args) const
 
auto periodic (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed).
 
reference front ()
 Returns a reference to the first element of the expression.
 
const_reference front () const
 Returns a constant reference to first the element of the expression.
 
reference back ()
 Returns a reference to the last element of the expression.
 
const_reference back () const
 Returns a constant reference to last the element of the expression.
 
- Public Member Functions inherited from xt::xconst_accessible< D >
size_type size () const noexcept
 Returns the size of the expression.
 
size_type dimension () const noexcept
 Returns the number of dimensions of the expression.
 
size_type shape (size_type index) const
 Returns the i-th dimension of the expression.
 
template<class... Args>
const_reference at (Args... args) const
 
template<class S >
disable_integral_t< S, const_reference > operator[] (const S &index) const
 
template<class I >
const_reference operator[] (std::initializer_list< I > index) const
 
const_reference operator[] (size_type i) const
 
template<class... Args>
const_reference periodic (Args... args) const
 
template<class... Args>
bool in_bounds (Args... args) const
 Returns true only if the the specified position is a valid entry in the expression.
 
const_reference front () const
 Returns a constant reference to first the element of the expression.
 
const_reference back () const
 Returns a constant reference to last the element of the expression.
 
template<class... Args>
auto at (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.
 
template<class S >
auto operator[] (const S &index) const -> disable_integral_t< S, const_reference >
 Returns a constant reference to the element at the specified position in the expression.
 
template<class I >
auto operator[] (std::initializer_list< I > index) const -> const_reference
 
template<class... Args>
auto periodic (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed).
 
- Public Member Functions inherited from xt::xiterable< xchunked_array< chunk_storage > >
layout_iterator< Lbegin () noexcept
 
broadcast_iterator< S, Lbegin (const S &shape) noexcept
 
const_layout_iterator< Lbegin () const noexcept
 
const_broadcast_iterator< S, Lbegin (const S &shape) const noexcept
 
auto begin () const noexcept -> const_layout_iterator< L >
 Returns a constant iterator to the first element of the expression.
 
auto begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L >
 Returns a constant iterator to the first element of the expression.
 
layout_iterator< Lend () noexcept
 
broadcast_iterator< S, Lend (const S &shape) noexcept
 
const_layout_iterator< Lend () const noexcept
 
const_broadcast_iterator< S, Lend (const S &shape) const noexcept
 
auto end () const noexcept -> const_layout_iterator< L >
 Returns a constant iterator to the element following the last element of the expression.
 
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.
 
reverse_layout_iterator< Lrbegin () noexcept
 
reverse_broadcast_iterator< S, Lrbegin (const S &shape) noexcept
 
const_reverse_layout_iterator< Lrbegin () const noexcept
 
const_reverse_broadcast_iterator< S, Lrbegin (const S &shape) const noexcept
 
auto rbegin () const noexcept -> const_reverse_layout_iterator< L >
 Returns a constant iterator to the first element of the reversed expression.
 
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.
 
reverse_layout_iterator< Lrend () noexcept
 
reverse_broadcast_iterator< S, Lrend (const S &shape) noexcept
 
const_reverse_layout_iterator< Lrend () const noexcept
 
const_reverse_broadcast_iterator< S, Lrend (const S &shape) const noexcept
 
auto rend () const noexcept -> const_reverse_layout_iterator< L >
 Returns a constant iterator to the element following the last element of the reversed expression.
 
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.
 
auto begin () noexcept -> layout_iterator< L >
 Returns an iterator to the first element of the expression.
 
auto end () noexcept -> layout_iterator< L >
 Returns an iterator to the element following the last element of the expression.
 
auto begin (const S &shape) noexcept -> broadcast_iterator< S, L >
 Returns an iterator to the first element of the expression.
 
auto end (const S &shape) noexcept -> broadcast_iterator< S, L >
 Returns an iterator to the element following the last element of the expression.
 
auto rbegin () noexcept -> reverse_layout_iterator< L >
 Returns an iterator to the first element of the reversed expression.
 
auto rend () noexcept -> reverse_layout_iterator< L >
 Returns an iterator to the element following the last element of the reversed expression.
 
auto rbegin (const S &shape) noexcept -> reverse_broadcast_iterator< S, L >
 Returns an iterator to the first element of the reversed expression.
 
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.
 
auto get_begin (bool end_index) noexcept -> layout_iterator< L >
 
auto get_begin (const S &shape, bool end_index) noexcept -> broadcast_iterator< S, L >
 
auto get_end (bool end_index) noexcept -> layout_iterator< L >
 
auto get_end (const S &shape, bool end_index) noexcept -> broadcast_iterator< S, L >
 
auto get_stepper_begin (const S &shape) noexcept -> stepper
 
auto get_stepper_begin (const S &shape) const noexcept -> const_stepper
 
auto get_stepper_end (const S &shape, layout_type l) noexcept -> stepper
 
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< Lbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_layout_iterator< Lend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_layout_iterator< Lcbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_layout_iterator< Lcend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_reverse_layout_iterator< Lrbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_reverse_layout_iterator< Lrend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_reverse_layout_iterator< Lcrbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
const_reverse_layout_iterator< Lcrend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lcbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lcend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lrbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lrend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lcrbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lcrend (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
 
- Public Member Functions inherited from xt::xchunked_semantic< xchunked_array< chunk_storage > >
derived_typeassign_xexpression (const xexpression< E > &e)
 
auto assign_xexpression (const xexpression< E > &e) -> derived_type &
 
derived_typecomputed_assign (const xexpression< E > &e)
 
auto computed_assign (const xexpression< E > &e) -> derived_type &
 
derived_typescalar_computed_assign (const E &e, F &&f)
 
auto scalar_computed_assign (const E &e, F &&f) -> derived_type &
 
auto operator= (const xexpression< E > &e) -> derived_type &
 
auto get_assigner (const CS &) const -> xchunked_assigner< temporary_type, CS >
 
- 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 &
 

Static Public Attributes

static constexpr layout_type static_layout = layout_type::dynamic
 
static constexpr bool contiguous_layout = false
 

Additional Inherited Members

- Protected Member Functions inherited from xt::xaccessible< xchunked_array< chunk_storage > >
 xaccessible (const xaccessible &)=default
 
 xaccessible (xaccessible &&)=default
 
xaccessibleoperator= (const xaccessible &)=default
 
xaccessibleoperator= (xaccessible &&)=default
 
- Protected Member Functions inherited from xt::xconst_accessible< D >
 xconst_accessible (const xconst_accessible &)=default
 
xconst_accessibleoperator= (const xconst_accessible &)=default
 
 xconst_accessible (xconst_accessible &&)=default
 
xconst_accessibleoperator= (xconst_accessible &&)=default
 
- Protected Member Functions inherited from xt::xconst_iterable< D >
const inner_shape_type & get_shape () const
 
- Protected Member Functions inherited from xt::xchunked_semantic< xchunked_array< chunk_storage > >
 xchunked_semantic (const xchunked_semantic &)=default
 
 xchunked_semantic (xchunked_semantic &&)=default
 
xchunked_semanticoperator= (const xchunked_semantic &)=default
 
xchunked_semanticoperator= (xchunked_semantic &&)=default
 
derived_typeoperator= (const xexpression< E > &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 > &)
 

Detailed Description

template<class chunk_storage>
class xt::xchunked_array< chunk_storage >

Definition at line 56 of file xchunked_array.hpp.

Member Typedef Documentation

◆ bool_load_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::bool_load_type = xt::bool_load_type<value_type>

Definition at line 81 of file xchunked_array.hpp.

◆ chunk_iterator

Definition at line 84 of file xchunked_array.hpp.

◆ chunk_storage_type

Definition at line 62 of file xchunked_array.hpp.

◆ chunk_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::chunk_type = typename chunk_storage::value_type

Definition at line 63 of file xchunked_array.hpp.

◆ const_chunk_iterator

Definition at line 85 of file xchunked_array.hpp.

◆ const_pointer

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::const_pointer = const value_type*

Definition at line 77 of file xchunked_array.hpp.

◆ const_reference

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::const_reference = typename chunk_type::const_reference

Definition at line 65 of file xchunked_array.hpp.

◆ const_stepper

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::const_stepper = typename iterable_base::const_stepper

Definition at line 70 of file xchunked_array.hpp.

◆ difference_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::difference_type = std::ptrdiff_t

Definition at line 78 of file xchunked_array.hpp.

◆ grid_shape_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::grid_shape_type = typename chunk_storage::shape_type

Definition at line 64 of file xchunked_array.hpp.

◆ inner_types

◆ iterable_base

Definition at line 69 of file xchunked_array.hpp.

◆ pointer

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::pointer = value_type*

Definition at line 76 of file xchunked_array.hpp.

◆ reference

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::reference = typename chunk_type::reference

Definition at line 66 of file xchunked_array.hpp.

◆ self_type

◆ semantic_base

Definition at line 68 of file xchunked_array.hpp.

◆ shape_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::shape_type = typename chunk_type::shape_type

Definition at line 79 of file xchunked_array.hpp.

◆ size_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::size_type = typename inner_types::size_type

Definition at line 73 of file xchunked_array.hpp.

◆ stepper

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::stepper = typename iterable_base::stepper

Definition at line 71 of file xchunked_array.hpp.

◆ storage_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::storage_type = typename inner_types::storage_type

Definition at line 74 of file xchunked_array.hpp.

◆ temporary_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::temporary_type = typename inner_types::temporary_type

Definition at line 80 of file xchunked_array.hpp.

◆ value_type

template<class chunk_storage >
using xt::xchunked_array< chunk_storage >::value_type = typename storage_type::value_type

Definition at line 75 of file xchunked_array.hpp.

Constructor & Destructor Documentation

◆ xchunked_array() [1/3]

template<class chunk_storage >
template<class S >
xt::xchunked_array< chunk_storage >::xchunked_array ( CS && chunks,
S && shape,
S && chunk_shape,
layout_type chunk_memory_layout )
inline

Definition at line 390 of file xchunked_array.hpp.

◆ xchunked_array() [2/3]

template<class chunk_storage >
template<class E >
xt::xchunked_array< chunk_storage >::xchunked_array ( const xexpression< E > & e,
CS && chunks,
layout_type chunk_memory_layout )
inline

Definition at line 398 of file xchunked_array.hpp.

◆ xchunked_array() [3/3]

template<class chunk_storage >
template<class E , class S >
xt::xchunked_array< chunk_storage >::xchunked_array ( const xexpression< E > & e,
CS && chunks,
S && chunk_shape,
layout_type chunk_memory_layout )
inline

Definition at line 405 of file xchunked_array.hpp.

Member Function Documentation

◆ broadcast_shape()

template<class CS >
template<class S >
bool xt::xchunked_array< CS >::broadcast_shape ( S & s,
bool reuse_cache = false ) const
inline

Definition at line 486 of file xchunked_array.hpp.

◆ chunk_begin() [1/2]

template<class CS >
auto xt::xchunked_array< CS >::chunk_begin ( )
inline

Definition at line 561 of file xchunked_array.hpp.

◆ chunk_begin() [2/2]

template<class CS >
auto xt::xchunked_array< CS >::chunk_begin ( ) const
inline

Definition at line 575 of file xchunked_array.hpp.

◆ chunk_cbegin()

template<class CS >
auto xt::xchunked_array< CS >::chunk_cbegin ( ) const
inline

Definition at line 589 of file xchunked_array.hpp.

◆ chunk_cend()

template<class CS >
auto xt::xchunked_array< CS >::chunk_cend ( ) const
inline

Definition at line 595 of file xchunked_array.hpp.

◆ chunk_end() [1/2]

template<class CS >
auto xt::xchunked_array< CS >::chunk_end ( )
inline

Definition at line 568 of file xchunked_array.hpp.

◆ chunk_end() [2/2]

template<class CS >
auto xt::xchunked_array< CS >::chunk_end ( ) const
inline

Definition at line 582 of file xchunked_array.hpp.

◆ chunk_shape()

template<class CS >
auto xt::xchunked_array< CS >::chunk_shape ( ) const
inlinenoexcept

Definition at line 531 of file xchunked_array.hpp.

◆ chunks() [1/2]

template<class CS >
auto xt::xchunked_array< CS >::chunks ( )
inline

Definition at line 549 of file xchunked_array.hpp.

◆ chunks() [2/2]

template<class CS >
auto xt::xchunked_array< CS >::chunks ( ) const
inline

Definition at line 555 of file xchunked_array.hpp.

◆ dimension()

template<class CS >
auto xt::xchunked_array< CS >::dimension ( ) const
inlinenoexcept

Definition at line 425 of file xchunked_array.hpp.

◆ element() [1/2]

template<class chunk_storage >
template<class It >
auto xt::xchunked_array< chunk_storage >::element ( It first,
It last ) -> reference
inline

Definition at line 468 of file xchunked_array.hpp.

◆ element() [2/2]

template<class chunk_storage >
template<class It >
auto xt::xchunked_array< chunk_storage >::element ( It first,
It last ) const -> const_reference
inline

Definition at line 477 of file xchunked_array.hpp.

◆ get_chunk_indexes()

template<class chunk_storage >
template<std::size_t... dims, class... Idxs>
auto xt::xchunked_array< chunk_storage >::get_chunk_indexes ( std::index_sequence< dims... > ,
Idxs... idxs ) const -> chunk_indexes_type<Idxs...>
inline

Definition at line 648 of file xchunked_array.hpp.

◆ get_indexes()

template<class chunk_storage >
template<class... Idxs>
auto xt::xchunked_array< chunk_storage >::get_indexes ( Idxs... idxs) const -> indexes_type<Idxs...>
inline

Definition at line 630 of file xchunked_array.hpp.

◆ get_indexes_dynamic()

template<class chunk_storage >
template<class It >
auto xt::xchunked_array< chunk_storage >::get_indexes_dynamic ( It first,
It last ) const -> dynamic_indexes_type
inline

Definition at line 671 of file xchunked_array.hpp.

◆ grid_shape()

template<class CS >
auto xt::xchunked_array< CS >::grid_shape ( ) const
inlinenoexcept

Definition at line 543 of file xchunked_array.hpp.

◆ grid_size()

template<class CS >
auto xt::xchunked_array< CS >::grid_size ( ) const
inlinenoexcept

Definition at line 537 of file xchunked_array.hpp.

◆ has_linear_assign()

template<class CS >
template<class S >
bool xt::xchunked_array< CS >::has_linear_assign ( const S & strides) const
inlinenoexcept

Definition at line 493 of file xchunked_array.hpp.

◆ is_contiguous()

template<class CS >
bool xt::xchunked_array< CS >::is_contiguous ( ) const
inlinenoexcept

Definition at line 443 of file xchunked_array.hpp.

◆ layout()

template<class CS >
auto xt::xchunked_array< CS >::layout ( ) const
inlinenoexcept

Definition at line 437 of file xchunked_array.hpp.

◆ operator()() [1/2]

template<class chunk_storage >
template<class... Idxs>
auto xt::xchunked_array< chunk_storage >::operator() ( Idxs... idxs) -> reference
inline

Definition at line 450 of file xchunked_array.hpp.

◆ operator()() [2/2]

template<class chunk_storage >
template<class... Idxs>
auto xt::xchunked_array< chunk_storage >::operator() ( Idxs... idxs) const -> const_reference
inline

Definition at line 459 of file xchunked_array.hpp.

◆ operator=()

template<class chunk_storage >
template<class E >
auto xt::xchunked_array< chunk_storage >::operator= ( const xexpression< E > & e) -> self_type&
inline

Definition at line 419 of file xchunked_array.hpp.

◆ shape()

template<class CS >
auto xt::xchunked_array< CS >::shape ( ) const
inlinenoexcept

Definition at line 431 of file xchunked_array.hpp.

◆ stepper_begin() [1/2]

template<class chunk_storage >
template<class S >
auto xt::xchunked_array< chunk_storage >::stepper_begin ( const S & shape) const -> const_stepper
inlinenoexcept

Definition at line 516 of file xchunked_array.hpp.

◆ stepper_begin() [2/2]

template<class chunk_storage >
template<class S >
auto xt::xchunked_array< chunk_storage >::stepper_begin ( const S & shape) -> stepper
inlinenoexcept

Definition at line 500 of file xchunked_array.hpp.

◆ stepper_end() [1/2]

template<class chunk_storage >
template<class S >
auto xt::xchunked_array< chunk_storage >::stepper_end ( const S & shape,
layout_type  ) const -> const_stepper
inlinenoexcept

Definition at line 524 of file xchunked_array.hpp.

◆ stepper_end() [2/2]

template<class chunk_storage >
template<class S >
auto xt::xchunked_array< chunk_storage >::stepper_end ( const S & shape,
layout_type  ) -> stepper
inlinenoexcept

Definition at line 508 of file xchunked_array.hpp.

◆ unpack()

template<class chunk_storage >
template<class T , std::size_t N>
auto xt::xchunked_array< chunk_storage >::unpack ( const std::array< T, N > & arr) const -> static_indexes_type<N>
inline

Definition at line 657 of file xchunked_array.hpp.

Member Data Documentation

◆ contiguous_layout

template<class chunk_storage >
constexpr bool xt::xchunked_array< chunk_storage >::contiguous_layout = false
staticconstexpr

Definition at line 83 of file xchunked_array.hpp.

◆ static_layout

Definition at line 82 of file xchunked_array.hpp.


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