xtensor
Loading...
Searching...
No Matches
xt::xoptional_assembly< VE, FE > Class Template Reference

Dense multidimensional container holding optional values, optimized for tensor operations. More...

#include <xoptional_assembly.hpp>

Inheritance diagram for xt::xoptional_assembly< VE, FE >:
xt::xoptional_assembly_base< xoptional_assembly< VE, FE > > xt::xcontainer_semantic< xoptional_assembly< VE, FE > > xt::xiterable< D > xt::xsemantic_base< D >

Public Types

using self_type = xoptional_assembly<VE, FE>
 
using base_type = xoptional_assembly_base<self_type>
 
using semantic_base = xcontainer_semantic<self_type>
 
using raw_value_expression = typename base_type::raw_value_expression
 
using raw_flag_expression = typename base_type::raw_flag_expression
 
using value_expression = typename base_type::value_expression
 
using flag_expression = typename base_type::flag_expression
 
using const_value_expression = typename base_type::const_value_expression
 
using const_flag_expression = typename base_type::const_flag_expression
 
using storage_type = typename base_type::storage_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 shape_type = typename base_type::shape_type
 
using strides_type = typename base_type::strides_type
 
using assembly_type = base_type
 
- Public Types inherited from xt::xoptional_assembly_base< xoptional_assembly< VE, FE > >
using self_type
 
using derived_type
 
using inner_types
 
using raw_value_expression
 
using base_value_type
 
using base_reference
 
using base_const_reference
 
using raw_flag_expression
 
using flag_type
 
using flag_reference
 
using flag_const_reference
 
using storage_type
 
using value_type
 
using reference
 
using const_reference
 
using pointer
 
using const_pointer
 
using size_type
 
using difference_type
 
using simd_value_type
 
using bool_load_type
 
using shape_type
 
using strides_type
 
using backstrides_type
 
using inner_shape_type
 
using inner_strides_type
 
using inner_backstrides_type
 
using iterable_base
 
using stepper
 
using const_stepper
 
using expression_tag
 
using value_expression
 
using flag_expression
 
using const_value_expression
 
using const_flag_expression
 
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::xcontainer_semantic< xoptional_assembly< VE, FE > >
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 E >
xoptional_assemblyoperator= (const xexpression< E > &e)
 
Constructors
 xoptional_assembly ()
 Allocates an uninitialized xoptional_assembly that holds 0 element.
 
 xoptional_assembly (const shape_type &shape, layout_type l=base_type::static_layout)
 Allocates an uninitialized xoptional_assembly with the specified shape and layout_type.
 
 xoptional_assembly (const shape_type &shape, const value_type &value, layout_type l=base_type::static_layout)
 Allocates an xoptional_assembly with the specified shape and layout_type.
 
 xoptional_assembly (const shape_type &shape, const strides_type &strides)
 Allocates an uninitialized xoptional_assembly with the specified shape and strides.
 
 xoptional_assembly (const shape_type &shape, const strides_type &strides, const value_type &value)
 Allocates an uninitialized xoptional_assembly with the specified shape and strides.
 
 xoptional_assembly (const VE &ve)
 Allocates an xoptional_assembly from the specified value expression.
 
 xoptional_assembly (VE &&ve)
 Allocates an xoptional_assembly from the specified value expression.
 
template<class OVE , class OFE , typename = std::enable_if_t<is_xexpression<OVE>::value && is_xexpression<OFE>::value>>
 xoptional_assembly (OVE &&ove, OFE &&ofe)
 Allocates an xoptional_assembly from the specified value expression and missing mask expression.
 
 xoptional_assembly (const value_type &value)
 Allocates an xoptional_assembly that holds a single element initialized to the specified value.
 
Constructors from initializer list
 xoptional_assembly (nested_initializer_list_t< value_type, 1 > t)
 Allocates a one-dimensional xoptional_assembly.
 
 xoptional_assembly (nested_initializer_list_t< value_type, 2 > t)
 Allocates a two-dimensional xoptional_assembly.
 
 xoptional_assembly (nested_initializer_list_t< value_type, 3 > t)
 Allocates a three-dimensional xoptional_assembly.
 
 xoptional_assembly (nested_initializer_list_t< value_type, 4 > t)
 Allocates a four-dimensional xoptional_assembly.
 
 xoptional_assembly (nested_initializer_list_t< value_type, 5 > t)
 Allocates a five-dimensional xoptional_assembly.
 
 xoptional_assembly (const xoptional_assembly &)
 
xoptional_assemblyoperator= (const xoptional_assembly &)
 
 xoptional_assembly (xoptional_assembly &&)
 
xoptional_assemblyoperator= (xoptional_assembly &&)
 
template<class S >
xoptional_assembly< VE, FEfrom_shape (S &&s)
 Allocates and returns an xoptional_assembly with the specified shape.
 
- Public Member Functions inherited from xt::xoptional_assembly_base< xoptional_assembly< VE, FE > >
reference operator() (Args... args)
 
const_reference operator() (Args... args) const
 
reference at (Args... args)
 
const_reference at (Args... args) const
 
reference unchecked (Args... args)
 
const_reference unchecked (Args... args) const
 
disable_integral_t< S, reference > operator[] (const S &index)
 
reference operator[] (std::initializer_list< I > index)
 
disable_integral_t< S, const_reference > operator[] (const S &index) const
 
const_reference operator[] (std::initializer_list< I > index) const
 
reference periodic (Args... args)
 
const_reference periodic (Args... args) const
 
reference element (It first, It last)
 
const_reference element (It first, It last) const
 
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
 
layout_iterator< Lbegin () noexcept
 
broadcast_iterator< S, Lbegin (const S &shape) noexcept
 
auto begin () noexcept -> layout_iterator< L >
 Returns an iterator to the first element of the expression.
 
auto begin (const S &shape) noexcept -> broadcast_iterator< S, L >
 Returns an iterator to the first element of the expression.
 
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
 
auto end () noexcept -> layout_iterator< L >
 Returns an iterator to the element following the last 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.
 
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
 
auto rbegin () noexcept -> reverse_layout_iterator< L >
 Returns an iterator to the first 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.
 
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
 
auto rend () noexcept -> reverse_layout_iterator< L >
 Returns an iterator to the element following the last 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.
 
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.
 
size_type size () const noexcept
 Returns the number of element in the optional assembly.
 
constexpr size_type dimension () const noexcept
 Returns the number of dimensions of the optional assembly.
 
const inner_shape_type & shape () const noexcept
 Returns the shape of the optional assembly.
 
size_type shape (size_type index) const
 Returns the i-th dimension of the expression.
 
const inner_strides_type & strides () const noexcept
 Returns the strides of the optional assembly.
 
const inner_backstrides_type & backstrides () const noexcept
 Returns the backstrides of the optional assembly.
 
void resize (const S &shape, bool force=false)
 Resizes the optional assembly.
 
void resize (const S &shape, layout_type l)
 Resizes the optional assembly.
 
void resize (const S &shape, const strides_type &strides)
 Resizes the optional assembly.
 
autoreshape (const S &shape, layout_type layout=static_layout) &
 Reshapes the optional assembly.
 
autoreshape (std::initializer_list< T > shape, layout_type layout=static_layout) &
 
layout_type layout () const noexcept
 Return the layout_type of the container.
 
bool is_contiguous () const noexcept
 
void fill (const T &value)
 Fills the data with the given value.
 
auto operator() (Args... args) -> reference
 Returns a reference to the element at the specified position in the optional assembly.
 
auto operator() (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the optional assembly.
 
auto at (Args... args) -> reference
 Returns a reference to the element at the specified position in the optional assembly, after dimension and bounds checking.
 
auto at (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the optional assembly, after dimension and bounds checking.
 
auto unchecked (Args... args) -> reference
 Returns a reference to the element at the specified position in the optional assembly.
 
auto unchecked (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the optional assembly.
 
reference operator[] (size_type i)
 
const_reference operator[] (size_type i) const
 
auto operator[] (const S &index) -> disable_integral_t< S, reference >
 Returns a reference to the element at the specified position in the optional assembly.
 
auto operator[] (std::initializer_list< I > index) -> reference
 
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 optional assembly.
 
auto operator[] (std::initializer_list< I > index) const -> const_reference
 
auto periodic (Args... args) -> reference
 Returns a reference to the element at the specified position in the optional assembly, after applying periodicity to the indices (negative and 'overflowing' indices are changed).
 
auto periodic (Args... args) const -> const_reference
 Returns a constant reference to the element at the specified position in the optional assembly, after applying periodicity to the indices (negative and 'overflowing' indices are changed).
 
reference front ()
 Returns a reference to the first element of the optional assembly.
 
const_reference front () const
 Returns a constant reference to the first element of the optional assembly.
 
reference back ()
 Returns a reference to the last element of the optional assembly.
 
const_reference back () const
 Returns a constant reference to the last element of the optional assembly.
 
reference flat (size_type args)
 Returns a reference to the element at the specified position of the underlying storage in the optional assembly.
 
const_reference flat (size_type args) const
 Returns a constant reference to the element at the specified position of the underlying storage in the optional assembly.
 
auto element (It first, It last) -> reference
 Returns a reference to the element at the specified position in the optional assembly.
 
auto element (It first, It last) const -> const_reference
 Returns a constant reference to the element at the specified position in the optional assembly.
 
bool in_bounds (Args... args) const
 Returns true only if the the specified position is a valid entry in the expression.
 
storage_type & storage () noexcept
 
const storage_type & storage () const noexcept
 
value_type * data () noexcept
 
const value_type * data () const noexcept
 
const size_type data_offset () const noexcept
 
bool broadcast_shape (S &shape, bool reuse_cache=false) const
 Broadcast the shape of the optional assembly to the specified parameter.
 
bool has_linear_assign (const S &strides) const noexcept
 Checks whether the xoptional_assembly_base can be linearly assigned to an expression with the specified strides.
 
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
 
value_expression value () noexcept
 Return an expression for the values of the optional assembly.
 
const_value_expression value () const noexcept
 Return a constant expression for the values of the optional assembly.
 
flag_expression has_value () noexcept
 Return an expression for the missing mask of the optional assembly.
 
const_flag_expression has_value () const noexcept
 Return a constant expression for the missing mask of the optional assembly.
 
- Public Member Functions inherited from xt::xcontainer_semantic< xoptional_assembly< VE, FE > >
derived_typeassign_xexpression (const xexpression< E > &e)
 
derived_typecomputed_assign (const xexpression< E > &e)
 
derived_typescalar_computed_assign (const E &e, F &&f)
 
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 > &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 &
 

Static Public Member Functions

template<class S = shape_type>
static xoptional_assembly from_shape (S &&s)
 

Friends

class xoptional_assembly_base< xoptional_assembly< VE, FE > >
 

Extended copy semantic

template<class E >
 xoptional_assembly (const xexpression< E > &e)
 The extended copy constructor.
 
template<class E >
auto operator= (const xexpression< E > &e) -> self_type &
 The extended assignment operator.
 

Additional Inherited Members

- Static Public Attributes inherited from xt::xoptional_assembly_base< xoptional_assembly< VE, FE > >
static constexpr layout_type static_layout
 
static constexpr bool contiguous_layout
 
- Protected Member Functions inherited from xt::xoptional_assembly_base< xoptional_assembly< VE, FE > >
 xoptional_assembly_base (const xoptional_assembly_base &)=default
 
 xoptional_assembly_base (xoptional_assembly_base &&)=default
 
xoptional_assembly_baseoperator= (const xoptional_assembly_base &)=default
 
xoptional_assembly_baseoperator= (xoptional_assembly_base &&)=default
 
- Protected Member Functions inherited from xt::xcontainer_semantic< xoptional_assembly< VE, FE > >
 xcontainer_semantic (const xcontainer_semantic &)=default
 
 xcontainer_semantic (xcontainer_semantic &&)=default
 
xcontainer_semanticoperator= (const xcontainer_semantic &)=default
 
xcontainer_semanticoperator= (xcontainer_semantic &&)=default
 
derived_typeoperator= (const xexpression< 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 VE, class FE>
class xt::xoptional_assembly< VE, FE >

Dense multidimensional container holding optional values, optimized for tensor operations.

The xoptional_assembly class implements a dense multidimensional container hoding optional values. This container is optimized of tensor operations: contrary to xarray_optional, xoptional_assembly holds two separated expressions, one for the values, the other for the missing mask.

Template Parameters
VEThe type of expression holding the values.
FEThe type of expression holding the missing mask.

Definition at line 61 of file xoptional_assembly.hpp.

Member Typedef Documentation

◆ assembly_type

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::assembly_type = base_type

Definition at line 84 of file xoptional_assembly.hpp.

◆ base_type

Definition at line 67 of file xoptional_assembly.hpp.

◆ const_flag_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::const_flag_expression = typename base_type::const_flag_expression

Definition at line 74 of file xoptional_assembly.hpp.

◆ const_pointer

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::const_pointer = typename base_type::const_pointer

Definition at line 80 of file xoptional_assembly.hpp.

◆ const_reference

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::const_reference = typename base_type::const_reference

Definition at line 78 of file xoptional_assembly.hpp.

◆ const_value_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::const_value_expression = typename base_type::const_value_expression

Definition at line 73 of file xoptional_assembly.hpp.

◆ flag_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::flag_expression = typename base_type::flag_expression

Definition at line 72 of file xoptional_assembly.hpp.

◆ pointer

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::pointer = typename base_type::pointer

Definition at line 79 of file xoptional_assembly.hpp.

◆ raw_flag_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::raw_flag_expression = typename base_type::raw_flag_expression

Definition at line 70 of file xoptional_assembly.hpp.

◆ raw_value_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::raw_value_expression = typename base_type::raw_value_expression

Definition at line 69 of file xoptional_assembly.hpp.

◆ reference

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::reference = typename base_type::reference

Definition at line 77 of file xoptional_assembly.hpp.

◆ self_type

Definition at line 66 of file xoptional_assembly.hpp.

◆ semantic_base

Definition at line 68 of file xoptional_assembly.hpp.

◆ shape_type

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::shape_type = typename base_type::shape_type

Definition at line 81 of file xoptional_assembly.hpp.

◆ storage_type

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::storage_type = typename base_type::storage_type

Definition at line 75 of file xoptional_assembly.hpp.

◆ strides_type

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::strides_type = typename base_type::strides_type

Definition at line 82 of file xoptional_assembly.hpp.

◆ value_expression

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::value_expression = typename base_type::value_expression

Definition at line 71 of file xoptional_assembly.hpp.

◆ value_type

template<class VE , class FE >
using xt::xoptional_assembly< VE, FE >::value_type = typename base_type::value_type

Definition at line 76 of file xoptional_assembly.hpp.

Constructor & Destructor Documentation

◆ xoptional_assembly() [1/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( )
inline

Allocates an uninitialized xoptional_assembly that holds 0 element.

Definition at line 279 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [2/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const shape_type & shape,
layout_type l = base_type::static_layout )
inlineexplicit

Allocates an uninitialized xoptional_assembly with the specified shape and layout_type.

Parameters
shapethe shape of the xoptional_assembly
lthe layout_type of the xoptional_assembly

Definition at line 293 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [3/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const shape_type & shape,
const value_type & value,
layout_type l = base_type::static_layout )
inlineexplicit

Allocates an xoptional_assembly with the specified shape and layout_type.

Elements are initialized to the specified value.

Parameters
shapethe shape of the xoptional_assembly
valuethe value of the elements
lthe layout_type of the xoptional_assembly

Definition at line 308 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [4/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const shape_type & shape,
const strides_type & strides )
inlineexplicit

Allocates an uninitialized xoptional_assembly with the specified shape and strides.

Parameters
shapethe shape of the xoptional_assembly
stridesthe strides of the xoptional_assembly

Definition at line 325 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [5/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const shape_type & shape,
const strides_type & strides,
const value_type & value )
inlineexplicit

Allocates an uninitialized xoptional_assembly with the specified shape and strides.

Elements are initialized to the specified value.

Parameters
shapethe shape of the xoptional_assembly
stridesthe strides of the xoptional_assembly
valuethe value of the elements

Definition at line 340 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [6/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const VE & ve)
inline

Allocates an xoptional_assembly from the specified value expression.

The flag expression is initialized as if no value is missing.

Parameters
vethe expression holding the values

Definition at line 370 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [7/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( VE && ve)
inline

Allocates an xoptional_assembly from the specified value expression.

The flag expression is initialized as if no value is missing. The value expression is moved inside the xoptional_assembly and is therefore not available after the xoptional_assembly has been constructed.

Parameters
vethe expression holding the values

Definition at line 385 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [8/17]

template<class VE , class FE >
template<class OVE , class OFE , typename >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( OVE && ove,
OFE && ofe )
inline

Allocates an xoptional_assembly from the specified value expression and missing mask expression.

Parameters
ovethe expression holding the values
ofethe expression holding the missing mask

Definition at line 400 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [9/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const value_type & value)
inline

Allocates an xoptional_assembly that holds a single element initialized to the specified value.

Parameters
valuethe value of the element

Definition at line 357 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [10/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( nested_initializer_list_t< value_type, 1 > t)
inline

Allocates a one-dimensional xoptional_assembly.

Parameters
tthe elements of the xoptional_assembly

Definition at line 418 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [11/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( nested_initializer_list_t< value_type, 2 > t)
inline

Allocates a two-dimensional xoptional_assembly.

Parameters
tthe elements of the xoptional_assembly

Definition at line 436 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [12/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( nested_initializer_list_t< value_type, 3 > t)
inline

Allocates a three-dimensional xoptional_assembly.

Parameters
tthe elements of the xoptional_assembly

Definition at line 454 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [13/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( nested_initializer_list_t< value_type, 4 > t)
inline

Allocates a four-dimensional xoptional_assembly.

Parameters
tthe elements of the xoptional_assembly

Definition at line 472 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [14/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( nested_initializer_list_t< value_type, 5 > t)
inline

Allocates a five-dimensional xoptional_assembly.

Parameters
tthe elements of the xoptional_assembly

Definition at line 490 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [15/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const xoptional_assembly< VE, FE > & rhs)
inline

Definition at line 518 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [16/17]

template<class VE , class FE >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( xoptional_assembly< VE, FE > && rhs)
inline

Definition at line 528 of file xoptional_assembly.hpp.

◆ xoptional_assembly() [17/17]

template<class VE , class FE >
template<class E >
xt::xoptional_assembly< VE, FE >::xoptional_assembly ( const xexpression< E > & e)
inline

The extended copy constructor.

Definition at line 564 of file xoptional_assembly.hpp.

Member Function Documentation

◆ from_shape()

template<class VE , class FE >
template<class S >
xoptional_assembly< VE, FE > xt::xoptional_assembly< VE, FE >::from_shape ( S && s)
inline

Allocates and returns an xoptional_assembly with the specified shape.

Parameters
sthe shape of the xoptional_assembly

Definition at line 511 of file xoptional_assembly.hpp.

◆ operator=() [1/3]

template<class VE , class FE >
template<class E >
auto xt::xoptional_assembly< VE, FE >::operator= ( const xexpression< E > & e) -> self_type&
inline

The extended assignment operator.

Definition at line 578 of file xoptional_assembly.hpp.

◆ operator=() [2/3]

template<class VE , class FE >
auto xt::xoptional_assembly< VE, FE >::operator= ( const xoptional_assembly< VE, FE > & rhs)
inline

Definition at line 538 of file xoptional_assembly.hpp.

◆ operator=() [3/3]

template<class VE , class FE >
auto xt::xoptional_assembly< VE, FE >::operator= ( xoptional_assembly< VE, FE > && rhs)
inline

Definition at line 547 of file xoptional_assembly.hpp.

Friends And Related Symbol Documentation

◆ xoptional_assembly_base< xoptional_assembly< VE, FE > >

Definition at line 139 of file xoptional_assembly.hpp.


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