Dense multidimensional adaptor holding optional values, optimized for tensor operations.
More...
|
|
template<class E> |
| xoptional_assembly_adaptor & | operator= (const xexpression< E > &e) |
| |
|
| template<class OVE, class OFE> |
| | xoptional_assembly_adaptor (OVE &&ve, OFE &&fe) |
| | Constructs an xoptional_assembly_adaptor of the given value and missing mask expressions.
|
| |
| | xoptional_assembly_adaptor (const xoptional_assembly_adaptor &) |
| |
| xoptional_assembly_adaptor & | operator= (const xoptional_assembly_adaptor &) |
| |
| | xoptional_assembly_adaptor (xoptional_assembly_adaptor &&) |
| |
| xoptional_assembly_adaptor & | operator= (xoptional_assembly_adaptor &&) |
| |
| xoptional_assembly_adaptor & | operator= (temporary_type &&) |
| |
|
layout_iterator< L > | begin () noexcept |
| |
|
broadcast_iterator< S, L > | begin (const S &shape) noexcept |
| |
|
const_layout_iterator< L > | begin () const noexcept |
| |
|
const_broadcast_iterator< S, L > | begin (const S &shape) const noexcept |
| |
|
layout_iterator< L > | end () noexcept |
| |
|
broadcast_iterator< S, L > | end (const S &shape) noexcept |
| |
|
const_layout_iterator< L > | end () const noexcept |
| |
|
const_broadcast_iterator< S, L > | end (const S &shape) const noexcept |
| |
|
reverse_layout_iterator< L > | rbegin () noexcept |
| |
|
reverse_broadcast_iterator< S, L > | rbegin (const S &shape) noexcept |
| |
|
const_reverse_layout_iterator< L > | rbegin () const noexcept |
| |
|
const_reverse_broadcast_iterator< S, L > | rbegin (const S &shape) const noexcept |
| |
|
reverse_layout_iterator< L > | rend () noexcept |
| |
|
reverse_broadcast_iterator< S, L > | rend (const S &shape) noexcept |
| |
|
const_reverse_layout_iterator< L > | rend () const noexcept |
| |
|
const_reverse_broadcast_iterator< S, L > | rend (const S &shape) const noexcept |
| |
|
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< L > | begin () noexcept |
| |
|
broadcast_iterator< S, L > | begin (const S &shape) noexcept |
| |
|
const_layout_iterator< L > | begin () const noexcept |
| |
|
const_broadcast_iterator< S, L > | begin (const S &shape) const noexcept |
| |
|
layout_iterator< L > | end () noexcept |
| |
|
broadcast_iterator< S, L > | end (const S &shape) noexcept |
| |
|
const_layout_iterator< L > | end () const noexcept |
| |
|
const_broadcast_iterator< S, L > | end (const S &shape) const noexcept |
| |
|
reverse_layout_iterator< L > | rbegin () noexcept |
| |
|
reverse_broadcast_iterator< S, L > | rbegin (const S &shape) noexcept |
| |
|
const_reverse_layout_iterator< L > | rbegin () const noexcept |
| |
|
const_reverse_broadcast_iterator< S, L > | rbegin (const S &shape) const noexcept |
| |
|
reverse_layout_iterator< L > | rend () noexcept |
| |
|
reverse_broadcast_iterator< S, L > | rend (const S &shape) noexcept |
| |
|
const_reverse_layout_iterator< L > | rend () const noexcept |
| |
|
const_reverse_broadcast_iterator< S, L > | rend (const S &shape) const noexcept |
| |
| 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.
|
| |
| 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).
|
| |
| 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.
|
| |
| 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 |
| |
| 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.
|
| |
| auto & | reshape (const S &shape, layout_type layout=static_layout) & |
| | Reshapes the optional assembly.
|
| |
| auto & | reshape (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 | 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 |
| |
| 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.
|
| |
|
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) |
| |
| 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 & |
| |
| 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 & |
| |
|
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 & |
| |