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< xchunked_array< chunk_storage > > xt::xconst_iterable< xchunked_array< chunk_storage > > xt::xsemantic_base< xchunked_array< chunk_storage > >

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< xchunked_array< chunk_storage > >
using derived_type
using inner_types
using reference
using const_reference
using 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< xchunked_array< chunk_storage > >
using derived_type
using iterable_types
using inner_shape_type
using stepper
using const_stepper
using layout_iterator
using const_layout_iterator
using reverse_layout_iterator
using const_reverse_layout_iterator
using linear_iterator
using const_linear_iterator
using reverse_linear_iterator
using const_reverse_linear_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::xchunked_semantic< xchunked_array< chunk_storage > >
using base_type
using derived_type
using temporary_type
Public Types inherited from xt::xsemantic_base< xchunked_array< chunk_storage > >
using base_type
using derived_type
using 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_array & operator= (const xchunked_array &)=default
 xchunked_array (xchunked_array &&)=default
xchunked_array & operator= (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_array & operator= (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 &
Public Member Functions inherited from xt::xaccessible< xchunked_array< chunk_storage > >
const_reference at (Args... args) const
 Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.
disable_integral_t< S, const_reference > operator[] (const S &index) const
 Returns a constant reference to the element at the specified position in the expression.
const_reference operator[] (std::initializer_list< I > index) const
const_reference operator[] (size_type i) const
const_reference back () const
 Returns a constant reference to last the element of the expression.
const_reference front () const
 Returns a constant reference to first the element of the expression.
const_reference periodic (Args... args) const
 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::xconst_accessible< xchunked_array< chunk_storage > >
size_type size () const noexcept(noexcept(derived_cast().shape()))
 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.
const_reference at (Args... args) const
 Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.
disable_integral_t< S, const_reference > operator[] (const S &index) const
 Returns a constant reference to the element at the specified position in the expression.
const_reference periodic (Args... args) const
 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).
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.
Public Member Functions inherited from xt::xiterable< xchunked_array< chunk_storage > >
const_layout_iterator< L > begin () const noexcept
 Returns a constant iterator to the first element of the expression.
const_broadcast_iterator< S, L > begin (const S &shape) const noexcept
 Returns a constant iterator to the first element of the expression.
const_layout_iterator< L > end () const noexcept
 Returns a constant iterator to the element following the last element of the expression.
const_broadcast_iterator< S, L > end (const S &shape) const noexcept
 Returns a constant iterator to the element following the last element of the expression.
const_reverse_layout_iterator< L > rbegin () const noexcept
 Returns a constant iterator to the first element of the reversed expression.
const_reverse_broadcast_iterator< S, L > rbegin (const S &shape) const noexcept
 Returns a constant iterator to the first element of the reversed expression.
const_reverse_layout_iterator< L > rend () const noexcept
 Returns a constant iterator to the element following the last element of the reversed expression.
const_reverse_broadcast_iterator< S, L > rend (const S &shape) const noexcept
 Returns a constant iterator to the element following the last element of the reversed expression.
Public Member Functions inherited from xt::xconst_iterable< xchunked_array< chunk_storage > >
const_layout_iterator< L > begin () const noexcept
 Returns a constant iterator to the first element of the expression.
const_layout_iterator< L > end () const noexcept
 Returns a constant iterator to the element following the last element of the expression.
const_layout_iterator< L > cbegin () const noexcept
 Returns a constant iterator to the first element of the expression.
const_layout_iterator< L > cend () const noexcept
 Returns a constant iterator to the element following the last element of the expression.
const_reverse_layout_iterator< L > rbegin () const noexcept
 Returns a constant iterator to the first element of the reversed expression.
const_reverse_layout_iterator< L > rend () const noexcept
 Returns a constant iterator to the element following the last element of the reversed expression.
const_reverse_layout_iterator< L > crbegin () const noexcept
 Returns a constant iterator to the first element of the reversed expression.
const_reverse_layout_iterator< L > crend () const noexcept
 Returns a constant iterator to the element following the last element of the reversed expression.
Public Member Functions inherited from xt::xchunked_semantic< xchunked_array< chunk_storage > >
derived_type & assign_xexpression (const xexpression< E > &e)
derived_type & computed_assign (const xexpression< E > &e)
derived_type & scalar_computed_assign (const E &e, F &&f)
Public Member Functions inherited from xt::xsemantic_base< xchunked_array< chunk_storage > >
disable_xexpression< E, derived_type & > operator+= (const E &)
 Adds the scalar e to *this.
disable_xexpression< E, derived_type & > operator-= (const E &)
 Subtracts the scalar e from *this.
disable_xexpression< E, derived_type & > operator*= (const E &)
 Multiplies *this with the scalar e.
disable_xexpression< E, derived_type & > operator/= (const E &)
 Divides *this by the scalar e.
disable_xexpression< E, derived_type & > operator%= (const E &)
 Computes the remainder of *this after division by the scalar e.
disable_xexpression< E, derived_type & > operator&= (const E &)
 Computes the bitwise and of *this and the scalar e and assigns it to *this.
disable_xexpression< E, derived_type & > operator|= (const E &)
 Computes the bitwise or of *this and the scalar e and assigns it to *this.
disable_xexpression< E, derived_type & > operator^= (const E &)
 Computes the bitwise xor of *this and the scalar e and assigns it to *this.
derived_type & assign (const xexpression< E > &)
 Assigns the xexpression e to *this.
derived_type & plus_assign (const xexpression< E > &)
 Adds the xexpression e to *this.
derived_type & minus_assign (const xexpression< E > &)
 Subtracts the xexpression e to *this.
derived_type & multiplies_assign (const xexpression< E > &)
 Multiplies *this with the xexpression e.
derived_type & divides_assign (const xexpression< E > &)
 Divides *this by the xexpression e.
derived_type & modulus_assign (const xexpression< E > &)
 Computes the remainder of *this after division by the xexpression e.
derived_type & bit_and_assign (const xexpression< E > &)
 Computes the bitwise and of e to *this.
derived_type & bit_or_assign (const xexpression< E > &)
 Computes the bitwise or of e to *this.
derived_type & bit_xor_assign (const xexpression< E > &)
 Computes the bitwise xor of e to *this.

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 & operator= (const xaccessible &)=default
Protected Member Functions inherited from xt::xconst_accessible< xchunked_array< chunk_storage > >
xconst_accessible & operator= (const xconst_accessible &)=default
const inner_shape_type & get_shape () const
Protected Member Functions inherited from xt::xchunked_semantic< xchunked_array< chunk_storage > >
xchunked_semantic & operator= (const xchunked_semantic &)=default
Protected Member Functions inherited from xt::xsemantic_base< xchunked_array< chunk_storage > >
xsemantic_base & operator= (const xsemantic_base &)=default

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

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::chunk_iterator = xchunk_iterator<self_type>

Definition at line 84 of file xchunked_array.hpp.

◆ chunk_storage_type

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::chunk_storage_type = chunk_storage

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

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::const_chunk_iterator = xchunk_iterator<const self_type>

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

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::inner_types = xcontainer_inner_types<self_type>

Definition at line 72 of file xchunked_array.hpp.

◆ iterable_base

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::iterable_base = xconst_iterable<self_type>

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

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::self_type = xchunked_array<chunk_storage>

Definition at line 67 of file xchunked_array.hpp.

◆ semantic_base

template<class chunk_storage>
using xt::xchunked_array< chunk_storage >::semantic_base = xchunked_semantic<self_type>

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 CS>
template<class It>
auto xt::xchunked_array< CS >::element ( It first,
It last ) -> reference
inline

Definition at line 468 of file xchunked_array.hpp.

◆ element() [2/2]

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

Definition at line 477 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 CS>
template<class... Idxs>
auto xt::xchunked_array< CS >::operator() ( Idxs... idxs) -> reference
inline

Definition at line 450 of file xchunked_array.hpp.

◆ operator()() [2/2]

template<class CS>
template<class... Idxs>
auto xt::xchunked_array< CS >::operator() ( Idxs... idxs) const
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 CS>
template<class S>
auto xt::xchunked_array< CS >::stepper_begin ( const S & shape) const
inlinenoexcept

Definition at line 516 of file xchunked_array.hpp.

◆ stepper_begin() [2/2]

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

Definition at line 500 of file xchunked_array.hpp.

◆ stepper_end() [1/2]

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

Definition at line 524 of file xchunked_array.hpp.

◆ stepper_end() [2/2]

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

Definition at line 508 of file xchunked_array.hpp.

Member Data Documentation

◆ contiguous_layout

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

Definition at line 83 of file xchunked_array.hpp.

◆ static_layout

template<class chunk_storage>
layout_type xt::xchunked_array< chunk_storage >::static_layout = layout_type::dynamic
staticconstexpr

Definition at line 82 of file xchunked_array.hpp.


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