xtensor
|
Adapt a container with a functor, forwarding methods such as resize / reshape. More...
#include <xfunctor_view.hpp>
Public Member Functions | |
template<class E > | |
self_type & | operator= (const xexpression< E > &e) |
template<class E > | |
disable_xexpression< E, self_type > & | operator= (const E &e) |
Extended copy semantic | |
template<class S = shape_type> | |
auto | resize (S &&shape, bool force=false) |
template<class S = shape_type> | |
auto | resize (S &&shape, layout_type l) |
template<class S = shape_type> | |
auto | resize (S &&shape, const strides_type &strides) |
template<class S = shape_type> | |
auto & | reshape (S &&shape, layout_type layout=base_type::static_layout) & |
template<class E > | |
auto | operator= (const xexpression< E > &e) -> self_type & |
The extended assignment operator. | |
Public Member Functions inherited from xt::xfunctor_applier_base< xfunctor_adaptor< F, CT > > | |
reference | operator() (Args... args) |
const_reference | operator() (Args... args) const |
reference | unchecked (Args... args) |
const_reference | unchecked (Args... args) const |
reference | element (IT first, IT last) |
const_reference | element (IT first, IT last) const |
auto | data_element (size_type i) -> decltype(std::declval< FCT >()(std::declval< undecay_expression >().data_element(i))) |
auto | data_element (size_type i) const -> decltype(std::declval< FCT >()(std::declval< const undecay_expression >().data_element(i))) |
auto | flat (size_type i) -> decltype(std::declval< FCT >()(std::declval< undecay_expression >().flat(i))) |
auto | flat (size_type i) const -> decltype(std::declval< FCT >()(std::declval< const undecay_expression >().flat(i))) |
auto | load_simd (size_type i) const -> decltype(std::declval< FCT >().template proxy_simd_load< align, requested_type, N >(std::declval< undecay_expression >(), i)) |
auto | store_simd (size_type i, const simd &e) -> decltype(std::declval< FCT >() .template proxy_simd_store< align >(std::declval< undecay_expression >(), i, e)) |
broadcast_iterator< S, L > | begin (const S &shape) noexcept |
const_broadcast_iterator< S, L > | begin (const S &shape) const noexcept |
broadcast_iterator< S, L > | end (const S &shape) noexcept |
const_broadcast_iterator< S, L > | end (const S &shape) const noexcept |
const_broadcast_iterator< S, L > | cbegin (const S &shape) const noexcept |
const_broadcast_iterator< S, L > | cend (const S &shape) const noexcept |
reverse_broadcast_iterator< S, L > | rbegin (const S &shape) noexcept |
const_reverse_broadcast_iterator< S, L > | rbegin (const S &shape) const noexcept |
reverse_broadcast_iterator< S, L > | rend (const S &shape) noexcept |
const_reverse_broadcast_iterator< S, L > | rend (const S &shape) const noexcept |
const_reverse_broadcast_iterator< S, L > | crbegin (const S &shape) const noexcept |
const_reverse_broadcast_iterator< S, L > | crend (const S &shape) const noexcept |
stepper | stepper_begin (const S &shape) noexcept |
const_stepper | stepper_begin (const S &shape) const noexcept |
stepper | stepper_end (const S &shape, layout_type l) noexcept |
const_stepper | stepper_end (const S &shape, layout_type l) const noexcept |
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. | |
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. | |
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 | 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). | |
xfunctor_applier_base (undecay_expression) noexcept | |
Constructs an xfunctor_applier_base expression wrappering the specified xt::xexpression. | |
xfunctor_applier_base (Func &&, E &&) noexcept | |
Constructs an xfunctor_applier_base expression wrappering the specified xt::xexpression. | |
size_type | size () const noexcept |
Returns the size of the expression. | |
const inner_shape_type & | shape () const noexcept |
Returns the shape of the expression. | |
const inner_strides_type & | strides () const noexcept |
Returns the strides of the expression. | |
const inner_backstrides_type & | backstrides () const noexcept |
Returns the backstrides of the expression. | |
layout_type | layout () const noexcept |
Returns the layout_type of the expression. | |
bool | is_contiguous () const noexcept |
auto | operator() (Args... args) -> reference |
Returns a reference to the element at the specified position in the expression. | |
auto | operator() (Args... args) const -> const_reference |
Returns a constant reference to the element at the specified position in the expression. | |
auto | unchecked (Args... args) -> reference |
Returns a reference to the element at the specified position in the expression. | |
auto | unchecked (Args... args) const -> const_reference |
Returns a constant reference to the element at the specified position in the expression. | |
auto | element (IT first, IT last) -> reference |
Returns a reference to the element at the specified position in the expression. | |
auto | element (IT first, IT last) const -> const_reference |
Returns a constant reference to the element at the specified position in the expression. | |
xexpression_type & | expression () noexcept |
Returns a reference to the underlying expression of the view. | |
const xexpression_type & | expression () const noexcept |
Returns a consttant reference to the underlying expression of the view. | |
bool | broadcast_shape (S &shape, bool reuse_cache=false) const |
Broadcast the shape of the function to the specified parameter. | |
bool | has_linear_assign (const S &strides) const |
Checks whether the xfunctor_applier_base can be linearly assigned to an expression with the specified strides. | |
auto | begin () noexcept |
Returns an iterator to the first element of the expression. | |
auto | begin () const noexcept |
Returns a constant iterator to the first element of the expression. | |
auto | end () noexcept |
Returns an iterator to the element following the last element of the expression. | |
auto | end () const noexcept |
Returns a constant iterator to the element following the last element of the expression. | |
auto | cbegin () const noexcept |
Returns a constant iterator to the first element of the expression. | |
auto | cend () const noexcept |
Returns a constant iterator to the element following the last element of the expression. | |
auto | begin (const S &shape) noexcept -> broadcast_iterator< S, 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. | |
auto | end (const S &shape) noexcept -> broadcast_iterator< S, 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. | |
auto | cbegin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
Returns a constant iterator to the first element of the expression. | |
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. | |
auto | rbegin () noexcept |
Returns an iterator to the first element of the reversed expression. | |
auto | rbegin () const noexcept |
Returns a constant iterator to the first element of the reversed expression. | |
auto | rend () noexcept |
Returns an iterator to the element following the last element of the reversed expression. | |
auto | rend () const noexcept |
Returns a constant iterator to the element following the last element of the reversed expression. | |
auto | crbegin () const noexcept |
Returns a constant iterator to the first element of the reversed expression. | |
auto | crend () const noexcept |
Returns a constant 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 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. | |
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 | rend (const S &) const noexcept -> const_reverse_broadcast_iterator< S, L > |
Returns a constant iterator to the element following the last element of the reversed expression. | |
auto | crbegin (const S &) const noexcept -> const_reverse_broadcast_iterator< S, L > |
Returns a constant iterator to the first element of the reversed expression. | |
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. | |
linear_iterator | linear_begin () noexcept |
const_linear_iterator | linear_begin () const noexcept |
linear_iterator | linear_end () noexcept |
const_linear_iterator | linear_end () const noexcept |
const_linear_iterator | linear_cbegin () const noexcept |
const_linear_iterator | linear_cend () const noexcept |
reverse_linear_iterator | linear_rbegin () noexcept |
const_reverse_linear_iterator | linear_rbegin () const noexcept |
reverse_linear_iterator | linear_rend () noexcept |
const_reverse_linear_iterator | linear_rend () const noexcept |
const_reverse_linear_iterator | linear_crbegin () const noexcept |
const_reverse_linear_iterator | linear_crend () const noexcept |
auto | stepper_begin (const S &shape) noexcept -> stepper |
auto | stepper_begin (const S &shape) const noexcept -> const_stepper |
auto | stepper_end (const S &shape, layout_type l) noexcept -> stepper |
auto | stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper |
Public Member Functions inherited from xt::xcontainer_semantic< xfunctor_adaptor< F, CT > > | |
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) |
derived_type & | assign_temporary (temporary_type &&) |
Assigns the temporary tmp to *this . | |
auto | assign_xexpression (const xexpression< E > &e) -> derived_type & |
auto | computed_assign (const xexpression< E > &e) -> derived_type & |
auto | scalar_computed_assign (const E &e, F &&f) -> derived_type & |
auto | operator= (const xexpression< E > &e) -> 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 & |
Friends | |
class | xcontainer_semantic< self_type > |
class | xaccessible< self_type > |
Adapt a container with a functor, forwarding methods such as resize / reshape.
xt::xfunctor_adaptor has a container semantics and can only be used with containers. For a similar feature with a view semantics, one can use xt::xfunctor_view.
F | the functor type to be applied to the elements of specified expression. |
CT | the closure type of the xt::xexpression type underlying this view |
Definition at line 509 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::base_type = xfunctor_applier_base<self_type> |
Definition at line 518 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::self_type = xfunctor_adaptor<F, CT> |
Definition at line 515 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::semantic_base = xcontainer_semantic<self_type> |
Definition at line 516 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::shape_type = typename base_type::shape_type |
Definition at line 519 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::strides_type = typename xexpression_type::strides_type |
Definition at line 520 of file xfunctor_view.hpp.
using xt::xfunctor_adaptor< F, CT >::xexpression_type = std::decay_t<CT> |
Definition at line 517 of file xfunctor_view.hpp.
|
inline |
The extended assignment operator.
Definition at line 1454 of file xfunctor_view.hpp.
auto & xt::xfunctor_adaptor< F, CT >::reshape | ( | S && | shape, |
layout_type | layout = base_type::static_layout ) & |
Definition at line 1497 of file xfunctor_view.hpp.
Definition at line 1476 of file xfunctor_view.hpp.
Definition at line 1490 of file xfunctor_view.hpp.
auto xt::xfunctor_adaptor< F, CT >::resize | ( | S && | shape, |
layout_type | l ) |
Definition at line 1483 of file xfunctor_view.hpp.
Definition at line 545 of file xfunctor_view.hpp.
Definition at line 545 of file xfunctor_view.hpp.