|
using | self_type = xstrided_view<CT, S, L, FST> |
|
using | base_type = xstrided_view_base<self_type> |
|
using | semantic_base = xview_semantic<self_type> |
|
using | extension_base = extension::xstrided_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 | linear_iterator = typename storage_type::iterator |
|
using | const_linear_iterator = typename storage_type::const_iterator |
|
using | reverse_linear_iterator = std::reverse_iterator<linear_iterator> |
|
using | const_reverse_linear_iterator = std::reverse_iterator<const_linear_iterator> |
|
using | iterable_base = select_iterable_base_t<L, xexpression_type::static_layout, self_type> |
|
using | inner_shape_type = typename base_type::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 | data_alignment = xt_simd::container_alignment_t<storage_type> |
|
using | simd_type = xt_simd::simd_type<value_type> |
|
using | simd_value_type = xt_simd::simd_type<value_type> |
|
using | bool_load_type = typename base_type::bool_load_type |
|
template<class requested_type> |
using | simd_return_type = xt_simd::simd_return_type<value_type, requested_type> |
|
template<class T, class R> |
using | enable_simd_interface = std::enable_if_t<has_simd_interface<T>::value && L != layout_type::dynamic, R> |
|
using | container_iterator |
|
using | const_container_iterator = typename storage_type::const_iterator |
|
template<class E> |
using | rebind_t = xstrided_view<E, S, L, typename FST::template rebind_t<E>> |
|
using | base_type = xsemantic_base<D> |
|
using | derived_type = D |
|
using | temporary_type = typename base_type::temporary_type |
|
using | base_type = select_expression_base_t<D> |
|
using | derived_type = typename base_type::derived_type |
|
using | temporary_type = typename xcontainer_inner_types<D>::temporary_type |
|
|
| xstrided_view (const xstrided_view &rhs)=default |
|
template<class E> |
self_type & | operator= (const xexpression< E > &e) |
|
template<class E> |
disable_xexpression< E, self_type > & | operator= (const E &e) |
|
template<class ST, class STEP = stepper> |
disable_indexed_stepper_t< STEP > | stepper_begin (const ST &shape) |
|
template<class ST, class STEP = stepper> |
disable_indexed_stepper_t< STEP > | stepper_end (const ST &shape, layout_type l) |
|
template<class ST, class STEP = stepper> |
enable_indexed_stepper_t< STEP > | stepper_begin (const ST &shape) |
|
template<class ST, class STEP = stepper> |
enable_indexed_stepper_t< STEP > | stepper_end (const ST &shape, layout_type l) |
|
template<class ST, class STEP = const_stepper> |
disable_indexed_stepper_t< STEP > | stepper_begin (const ST &shape) const |
|
template<class ST, class STEP = const_stepper> |
disable_indexed_stepper_t< STEP > | stepper_end (const ST &shape, layout_type l) const |
|
template<class ST, class STEP = const_stepper> |
enable_indexed_stepper_t< STEP > | stepper_begin (const ST &shape) const |
|
template<class ST, class STEP = const_stepper> |
enable_indexed_stepper_t< STEP > | stepper_end (const ST &shape, layout_type l) const |
|
template<class align, class simd, class T = xexpression_type> |
enable_simd_interface< T, void > | store_simd (size_type i, const simd &e) |
|
template<class align, class requested_type = value_type, std::size_t N = xt_simd::simd_traits<requested_type>::size, class T = xexpression_type> |
enable_simd_interface< T, simd_return_type< requested_type > > | load_simd (size_type i) const |
|
template<class E> |
rebind_t< E > | build_view (E &&e) const |
|
const inner_backstrides_type & | backstrides () const noexcept |
| Returns the backstrides of the xtrided_view_base.
|
|
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.
|
|
const inner_strides_type & | strides () const noexcept |
| Returns the strides of the xtrided_view_base.
|
|
reference | operator() () |
|
const_reference | operator() () const |
|
reference | operator() (Args... args) |
|
const_reference | operator() (Args... args) const |
|
reference | unchecked (Args... args) |
|
const_reference | unchecked (Args... args) const |
|
std::enable_if_t< detail::provides_data_interface< E, ST >::value, pointer > | data () noexcept |
|
std::enable_if_t< detail::provides_data_interface< E, ST >::value, const_pointer > | data () const noexcept |
|
size_type | data_offset () const noexcept |
| Returns the offset to the first element in the view.
|
|
reference | element (It first, It last) |
|
const_reference | element (It first, It last) const |
|
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.
|
|
bool | broadcast_shape (O &shape, bool reuse_cache=false) const |
| Broadcast the shape of the view to the specified parameter.
|
|
bool | has_linear_assign (const O &strides) const noexcept |
| Checks whether the xstrided_view_base can be linearly assigned to an expression with the specified strides.
|
|
|
template<class CTA, class SA> |
| xstrided_view (CTA &&e, SA &&shape, strides_type &&strides, std::size_t offset, layout_type layout) noexcept |
| Constructs an xstrided_view.
|
|
self_type & | operator= (const self_type &) |
|
template<class E> |
derived_type & | assign_xexpression (const xexpression< E > &e) |
|
template<class E> |
derived_type & | computed_assign (const xexpression< E > &e) |
|
template<class E, class F> |
derived_type & | scalar_computed_assign (const E &e, F &&f) |
|
derived_type & | assign_temporary (temporary_type &&) |
| Assigns the temporary tmp to *this .
|
|
template<class E> |
auto | assign_xexpression (const xexpression< E > &e) -> derived_type & |
|
template<class E> |
auto | computed_assign (const xexpression< E > &e) -> derived_type & |
|
template<class E, class F> |
auto | scalar_computed_assign (const E &e, F &&f) -> derived_type & |
|
template<class E> |
auto | operator= (const xexpression< E > &rhs) -> derived_type & |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator+= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator-= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator*= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator/= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator%= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator&= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator|= (const E &) |
|
template<class E> |
disable_xexpression< E, derived_type & > | operator^= (const E &) |
|
template<class E> |
derived_type & | operator+= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator-= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator*= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator/= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator%= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator&= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator|= (const xexpression< E > &) |
|
template<class E> |
derived_type & | operator^= (const xexpression< E > &) |
|
template<class E> |
derived_type & | assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | plus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | minus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | multiplies_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | divides_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | modulus_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_and_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_or_assign (const xexpression< E > &) |
|
template<class E> |
derived_type & | bit_xor_assign (const xexpression< E > &) |
|
template<class E> |
auto | operator+= (const E &e) -> disable_xexpression< E, derived_type & > |
| Adds the scalar e to *this .
|
|
template<class E> |
auto | operator-= (const E &e) -> disable_xexpression< E, derived_type & > |
| Subtracts the scalar e from *this .
|
|
template<class E> |
auto | operator*= (const E &e) -> disable_xexpression< E, derived_type & > |
| Multiplies *this with the scalar e .
|
|
template<class E> |
auto | operator/= (const E &e) -> disable_xexpression< E, derived_type & > |
| Divides *this by the scalar e .
|
|
template<class E> |
auto | operator%= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the remainder of *this after division by the scalar e .
|
|
template<class E> |
auto | operator&= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise and of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator|= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise or of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator^= (const E &e) -> disable_xexpression< E, derived_type & > |
| Computes the bitwise xor of *this and the scalar e and assigns it to *this .
|
|
template<class E> |
auto | operator+= (const xexpression< E > &e) -> derived_type & |
| Adds the xexpression e to *this .
|
|
template<class E> |
auto | operator-= (const xexpression< E > &e) -> derived_type & |
| Subtracts the xexpression e from *this .
|
|
template<class E> |
auto | operator*= (const xexpression< E > &e) -> derived_type & |
| Multiplies *this with the xexpression e .
|
|
template<class E> |
auto | operator/= (const xexpression< E > &e) -> derived_type & |
| Divides *this by the xexpression e .
|
|
template<class E> |
auto | operator%= (const xexpression< E > &e) -> derived_type & |
| Computes the remainder of *this after division by the xexpression e .
|
|
template<class E> |
auto | operator&= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise and of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | operator|= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise or of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | operator^= (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise xor of *this and the xexpression e and assigns it to *this .
|
|
template<class E> |
auto | assign (const xexpression< E > &e) -> derived_type & |
| Assigns the xexpression e to *this .
|
|
template<class E> |
auto | plus_assign (const xexpression< E > &e) -> derived_type & |
| Adds the xexpression e to *this .
|
|
template<class E> |
auto | minus_assign (const xexpression< E > &e) -> derived_type & |
| Subtracts the xexpression e to *this .
|
|
template<class E> |
auto | multiplies_assign (const xexpression< E > &e) -> derived_type & |
| Multiplies *this with the xexpression e .
|
|
template<class E> |
auto | divides_assign (const xexpression< E > &e) -> derived_type & |
| Divides *this by the xexpression e .
|
|
template<class E> |
auto | modulus_assign (const xexpression< E > &e) -> derived_type & |
| Computes the remainder of *this after division by the xexpression e .
|
|
template<class E> |
auto | bit_and_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise and of e to *this .
|
|
template<class E> |
auto | bit_or_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise or of e to *this .
|
|
template<class E> |
auto | bit_xor_assign (const xexpression< E > &e) -> derived_type & |
| Computes the bitwise xor of e to *this .
|
|
template<class E> |
auto | operator= (const xexpression< E > &e) -> derived_type & |
|
template<class CT, class S,
layout_type L = layout_type::dynamic, class FST = detail::flat_storage_getter<CT, ::xt::layout_type::row_major >>
class xt::xstrided_view< CT, S, L, FST >
View of an xexpression using strides.
The xstrided_view class implements a view utilizing an initial offset and strides.
- Template Parameters
-
CT | the closure type of the xexpression type underlying this view |
L | the layout of the strided view |
S | the strides type of the strided view |
FST | the flat storage type used for the strided view |
- See also
- strided_view, transpose
Definition at line 129 of file xstrided_view.hpp.