xtensor
 
Loading...
Searching...
No Matches
xt::xfunctor_view< F, CT > Class Template Reference

View of an xexpression . More...

#include <xfunctor_view.hpp>

Inheritance diagram for xt::xfunctor_view< F, CT >:
xt::xfunctor_applier_base< xfunctor_view< F, CT > > xt::xview_semantic< xfunctor_view< F, CT > > xt::xaccessible< xfunctor_view< F, CT > > xt::xsemantic_base< xfunctor_view< F, CT > >

Public Types

using self_type = xfunctor_view<F, CT>
 
using semantic_base = xview_semantic<self_type>
 
template<class E>
using rebind_t = xfunctor_view<F, E>
 
- Public Types inherited from xt::xfunctor_applier_base< xfunctor_view< F, CT > >
using self_type
 
using inner_types
 
using xexpression_type
 
using undecay_expression
 
using functor_type
 
using accessible_base
 
using extension_base
 
using expression_tag
 
using value_type
 
using reference
 
using const_reference
 
using pointer
 
using const_pointer
 
using size_type
 
using difference_type
 
using shape_type
 
using strides_type
 
using backstrides_type
 
using inner_shape_type
 
using inner_strides_type
 
using inner_backstrides_type
 
using bool_load_type
 
using stepper
 
using const_stepper
 
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 linear_iterator
 
using const_linear_iterator
 
using reverse_linear_iterator
 
using const_reverse_linear_iterator
 
using iterator
 
using const_iterator
 
using reverse_iterator
 
using const_reverse_iterator
 
- Public Types inherited from xt::xview_semantic< xfunctor_view< F, CT > >
using base_type
 
using derived_type
 
using temporary_type
 
- Public Types inherited from xt::xsemantic_base< xfunctor_view< F, CT > >
using base_type
 
using derived_type
 
using temporary_type
 

Public Member Functions

template<class E>
self_typeoperator= (const xexpression< E > &e)
 
template<class E>
disable_xexpression< E, self_type > & operator= (const E &e)
 
template<class E>
rebind_t< E > build_functor_view (E &&e) const
 
- Public Member Functions inherited from xt::xfunctor_applier_base< xfunctor_view< F, CT > >
reference at (Args... args)
 
const_reference at (Args... args) const
 
disable_integral_t< S, reference > operator[] (const S &index)
 
reference operator[] (std::initializer_list< I > index)
 
reference operator[] (size_type i)
 
disable_integral_t< S, const_reference > operator[] (const S &index) const
 
const_reference operator[] (std::initializer_list< I > index) const
 
const_reference operator[] (size_type i) const
 
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)
 
const_reference periodic (Args... args) const
 
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)
 
const_reference at (Args... args) const
 
disable_integral_t< S, reference > operator[] (const S &index)
 
reference operator[] (std::initializer_list< I > index)
 
reference operator[] (size_type i)
 
disable_integral_t< S, const_reference > operator[] (const S &index) const
 
const_reference operator[] (std::initializer_list< I > index) const
 
const_reference operator[] (size_type i) const
 
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)
 
const_reference periodic (Args... args) const
 
auto operator() (Args... args) -> reference
 Returns a 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 element (IT first, IT last) -> 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) const -> const_reference
 Returns a constant 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.
 
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.
 
auto begin (const S &shape) noexcept -> 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 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) 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 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 (const S &shape) noexcept -> reverse_broadcast_iterator< S, L >
 Returns an iterator to the first element of the 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 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 &) 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.
 
auto stepper_begin (const S &shape) noexcept -> stepper
 
auto stepper_end (const S &shape, layout_type l) noexcept -> stepper
 
auto stepper_begin (const S &shape) const noexcept -> const_stepper
 
auto stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper
 
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
 
 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
 
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 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.
 
- Public Member Functions inherited from xt::xview_semantic< xfunctor_view< F, CT > >
derived_typeassign_xexpression (const xexpression< E > &e)
 
derived_typecomputed_assign (const xexpression< E > &e)
 
derived_typescalar_computed_assign (const E &e, F &&f)
 
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 > &rhs) -> derived_type &
 
derived_typeassign_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 > &rhs) -> derived_type &
 
- Public Member Functions inherited from xt::xsemantic_base< xfunctor_view< F, CT > >
disable_xexpression< E, derived_type & > operator+= (const E &)
 
derived_type & operator+= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator-= (const E &)
 
derived_type & operator-= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator*= (const E &)
 
derived_type & operator*= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator/= (const E &)
 
derived_type & operator/= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator%= (const E &)
 
derived_type & operator%= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator&= (const E &)
 
derived_type & operator&= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator|= (const E &)
 
derived_type & operator|= (const xexpression< E > &)
 
disable_xexpression< E, derived_type & > operator^= (const E &)
 
derived_type & operator^= (const xexpression< E > &)
 
derived_type & assign (const xexpression< E > &)
 
derived_type & plus_assign (const xexpression< E > &)
 
derived_type & minus_assign (const xexpression< E > &)
 
derived_type & multiplies_assign (const xexpression< E > &)
 
derived_type & divides_assign (const xexpression< E > &)
 
derived_type & modulus_assign (const xexpression< E > &)
 
derived_type & bit_and_assign (const xexpression< E > &)
 
derived_type & bit_or_assign (const xexpression< E > &)
 
derived_type & bit_xor_assign (const xexpression< E > &)
 
auto operator+= (const E &e) -> disable_xexpression< E, derived_type & >
 Adds the scalar e to *this.
 
auto operator-= (const E &e) -> disable_xexpression< E, derived_type & >
 Subtracts the scalar e from *this.
 
auto operator*= (const E &e) -> disable_xexpression< E, derived_type & >
 Multiplies *this with the scalar e.
 
auto operator/= (const E &e) -> disable_xexpression< E, derived_type & >
 Divides *this by the scalar e.
 
auto operator%= (const E &e) -> disable_xexpression< E, derived_type & >
 Computes the remainder of *this after division by the scalar 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.
 
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.
 
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.
 
auto operator+= (const xexpression< E > &e) -> derived_type &
 Adds the xexpression e to *this.
 
auto operator-= (const xexpression< E > &e) -> derived_type &
 Subtracts the xexpression e from *this.
 
auto operator*= (const xexpression< E > &e) -> derived_type &
 Multiplies *this with the xexpression e.
 
auto operator/= (const xexpression< E > &e) -> derived_type &
 Divides *this by the xexpression e.
 
auto operator%= (const xexpression< E > &e) -> derived_type &
 Computes the remainder of *this after division by the xexpression e.
 
auto operator&= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise and of *this and the xexpression e and assigns it to *this.
 
auto operator|= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise or of *this and the xexpression e and assigns it to *this.
 
auto operator^= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise xor of *this and the xexpression e and assigns it to *this.
 
auto operator+= (const E &e) -> disable_xexpression< E, derived_type & >
 Adds the scalar e to *this.
 
auto operator+= (const xexpression< E > &e) -> derived_type &
 Adds the xexpression e to *this.
 
auto operator-= (const E &e) -> disable_xexpression< E, derived_type & >
 Subtracts the scalar e from *this.
 
auto operator-= (const xexpression< E > &e) -> derived_type &
 Subtracts the xexpression e from *this.
 
auto operator*= (const E &e) -> disable_xexpression< E, derived_type & >
 Multiplies *this with the scalar e.
 
auto operator*= (const xexpression< E > &e) -> derived_type &
 Multiplies *this with the xexpression e.
 
auto operator/= (const E &e) -> disable_xexpression< E, derived_type & >
 Divides *this by the scalar e.
 
auto operator/= (const xexpression< E > &e) -> derived_type &
 Divides *this by the xexpression e.
 
auto operator%= (const E &e) -> disable_xexpression< E, derived_type & >
 Computes the remainder of *this after division by the scalar e.
 
auto operator%= (const xexpression< E > &e) -> derived_type &
 Computes the remainder of *this after division by the xexpression 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.
 
auto operator&= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise and of *this and the xexpression e and assigns it to *this.
 
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.
 
auto operator|= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise or of *this and the xexpression e and assigns it to *this.
 
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.
 
auto operator^= (const xexpression< E > &e) -> derived_type &
 Computes the bitwise xor of *this and the xexpression e and assigns it to *this.
 
auto assign (const xexpression< E > &e) -> derived_type &
 Assigns the xexpression e to *this.
 
auto plus_assign (const xexpression< E > &e) -> derived_type &
 Adds the xexpression e to *this.
 
auto minus_assign (const xexpression< E > &e) -> derived_type &
 Subtracts the xexpression e to *this.
 
auto multiplies_assign (const xexpression< E > &e) -> derived_type &
 Multiplies *this with the xexpression e.
 
auto divides_assign (const xexpression< E > &e) -> derived_type &
 Divides *this by the xexpression e.
 
auto modulus_assign (const xexpression< E > &e) -> derived_type &
 Computes the remainder of *this after division by the xexpression e.
 
auto bit_and_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise and of e to *this.
 
auto bit_or_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise or of e to *this.
 
auto bit_xor_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise xor of e to *this.
 
auto operator= (const xexpression< E > &e) -> derived_type &
 
auto assign (const xexpression< E > &e) -> derived_type &
 Assigns the xexpression e to *this.
 
auto plus_assign (const xexpression< E > &e) -> derived_type &
 Adds the xexpression e to *this.
 
auto minus_assign (const xexpression< E > &e) -> derived_type &
 Subtracts the xexpression e to *this.
 
auto multiplies_assign (const xexpression< E > &e) -> derived_type &
 Multiplies *this with the xexpression e.
 
auto divides_assign (const xexpression< E > &e) -> derived_type &
 Divides *this by the xexpression e.
 
auto modulus_assign (const xexpression< E > &e) -> derived_type &
 Computes the remainder of *this after division by the xexpression e.
 
auto bit_and_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise and of e to *this.
 
auto bit_or_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise or of e to *this.
 
auto bit_xor_assign (const xexpression< E > &e) -> derived_type &
 Computes the bitwise xor of e to *this.
 
auto operator= (const xexpression< E > &e) -> derived_type &
 

Friends

class xview_semantic< self_type >
 
class xaccessible< self_type >
 

Extended copy semantic

template<class E>
auto operator= (const xexpression< E > &e) -> self_type &
 The extended assignment operator.
 
template<class E>
auto operator= (const E &e) -> disable_xexpression< E, self_type > &
 
template<class E>
auto build_functor_view (E &&e) const -> rebind_t< E >
 

Additional Inherited Members

- Static Public Attributes inherited from xt::xfunctor_applier_base< xfunctor_view< F, CT > >
static constexpr layout_type static_layout
 
static constexpr bool contiguous_layout
 
- Protected Member Functions inherited from xt::xview_semantic< xfunctor_view< F, CT > >
 xview_semantic (const xview_semantic &)=default
 
 xview_semantic (xview_semantic &&)=default
 
xview_semanticoperator= (const xview_semantic &)=default
 
xview_semanticoperator= (xview_semantic &&)=default
 
derived_typeoperator= (const xexpression< E > &)
 
- Protected Member Functions inherited from xt::xsemantic_base< xfunctor_view< F, CT > >
 xsemantic_base (const xsemantic_base &)=default
 
 xsemantic_base (xsemantic_base &&)=default
 
xsemantic_baseoperator= (const xsemantic_base &)=default
 
xsemantic_baseoperator= (xsemantic_base &&)=default
 
derived_type & operator= (const xexpression< E > &)
 
- Protected Attributes inherited from xt::xfunctor_applier_base< xfunctor_view< F, CT > >
undecay_expression m_e
 
functor_type m_functor
 

Detailed Description

template<class F, class CT>
class xt::xfunctor_view< F, CT >

View of an xexpression .

The xt::xfunctor_view class is an expression addressing its elements by applying a functor to the corresponding element of an underlying expression. Unlike e.g. xgenerator, an xt::xfunctor_view is an lvalue. It is used e.g. to access real and imaginary parts of complex expressions.

xt::xfunctor_view has a view semantics and can be used on any expression. For a similar feature with a container semantics, one can use xt::xfunctor_adaptor.

xt::xfunctor_view is not meant to be used directly, but through helper functions such as xt::real or xt::imag.

Template Parameters
Fthe functor type to be applied to the elements of specified expression.
CTthe closure type of the xt::xexpression type underlying this view
See also
xt::real, xt::imag

Definition at line 440 of file xfunctor_view.hpp.

Member Typedef Documentation

◆ rebind_t

template<class F, class CT>
template<class E>
using xt::xfunctor_view< F, CT >::rebind_t = xfunctor_view<F, E>

Definition at line 459 of file xfunctor_view.hpp.

◆ self_type

template<class F, class CT>
using xt::xfunctor_view< F, CT >::self_type = xfunctor_view<F, CT>

Definition at line 446 of file xfunctor_view.hpp.

◆ semantic_base

template<class F, class CT>
using xt::xfunctor_view< F, CT >::semantic_base = xview_semantic<self_type>

Definition at line 447 of file xfunctor_view.hpp.

Member Function Documentation

◆ build_functor_view()

template<class F, class CT>
template<class E>
auto xt::xfunctor_view< F, CT >::build_functor_view ( E && e) const -> rebind_t<E>
inline

Definition at line 1436 of file xfunctor_view.hpp.

◆ operator=() [1/2]

template<class F, class CT>
template<class E>
auto xt::xfunctor_view< F, CT >::operator= ( const E & e) -> disable_xexpression<E, self_type>&
inline

Definition at line 1422 of file xfunctor_view.hpp.

◆ operator=() [2/2]

template<class F, class CT>
template<class E>
auto xt::xfunctor_view< F, CT >::operator= ( const xexpression< E > & e) -> self_type&
inline

The extended assignment operator.

Definition at line 1403 of file xfunctor_view.hpp.

Friends And Related Symbol Documentation

◆ xaccessible< self_type >

template<class F, class CT>
friend class xaccessible< self_type >
friend

Definition at line 467 of file xfunctor_view.hpp.

◆ xview_semantic< self_type >

template<class F, class CT>
friend class xview_semantic< self_type >
friend

Definition at line 467 of file xfunctor_view.hpp.


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