xtensor
|
Base class for dense multidimensional optional assemblies. More...
#include <xoptional_assembly_base.hpp>
Public Types | |
using | self_type = xoptional_assembly_base<D> |
using | derived_type = D |
using | inner_types = xcontainer_inner_types<D> |
using | raw_value_expression = typename inner_types::raw_value_expression |
using | base_value_type = typename raw_value_expression::value_type |
using | base_reference = typename raw_value_expression::reference |
using | base_const_reference = typename raw_value_expression::const_reference |
using | raw_flag_expression = typename inner_types::raw_flag_expression |
using | flag_type = typename raw_flag_expression::value_type |
using | flag_reference = typename raw_flag_expression::reference |
using | flag_const_reference = typename raw_flag_expression::const_reference |
using | storage_type = typename inner_types::storage_type |
using | value_type = typename storage_type::value_type |
using | reference = typename storage_type::reference |
using | const_reference = typename storage_type::const_reference |
using | pointer = typename storage_type::pointer |
using | const_pointer = typename storage_type::const_pointer |
using | size_type = typename raw_value_expression::size_type |
using | difference_type = typename raw_value_expression::difference_type |
using | simd_value_type = xt_simd::simd_type<value_type> |
using | bool_load_type = xt::bool_load_type<value_type> |
using | shape_type = typename raw_value_expression::shape_type |
using | strides_type = typename raw_value_expression::strides_type |
using | backstrides_type = typename raw_value_expression::backstrides_type |
using | inner_shape_type = typename raw_value_expression::inner_shape_type |
using | inner_strides_type = typename raw_value_expression::inner_strides_type |
using | inner_backstrides_type = typename raw_value_expression::inner_backstrides_type |
using | iterable_base = xiterable<D> |
using | stepper = typename iterable_base::stepper |
using | const_stepper = typename iterable_base::const_stepper |
using | expression_tag = xoptional_expression_tag |
using | value_expression = raw_value_expression& |
using | flag_expression = raw_flag_expression& |
using | const_value_expression = const raw_value_expression& |
using | const_flag_expression = const raw_flag_expression& |
template<layout_type L> | |
using | layout_iterator = typename iterable_base::template layout_iterator<L> |
template<layout_type L> | |
using | const_layout_iterator = typename iterable_base::template const_layout_iterator<L> |
template<layout_type L> | |
using | reverse_layout_iterator = typename iterable_base::template reverse_layout_iterator<L> |
template<layout_type L> | |
using | const_reverse_layout_iterator = typename iterable_base::template const_reverse_layout_iterator<L> |
template<class S , layout_type L> | |
using | broadcast_iterator = typename iterable_base::template broadcast_iterator<S, L> |
template<class S , layout_type L> | |
using | const_broadcast_iterator = typename iterable_base::template const_broadcast_iterator<S, L> |
template<class S , layout_type L> | |
using | reverse_broadcast_iterator = typename iterable_base::template reverse_broadcast_iterator<S, L> |
template<class S , layout_type L> | |
using | const_reverse_broadcast_iterator = typename iterable_base::template const_reverse_broadcast_iterator<S, L> |
using | linear_iterator = typename storage_type::iterator |
using | const_linear_iterator = typename storage_type::const_iterator |
using | reverse_linear_iterator = typename storage_type::reverse_iterator |
using | const_reverse_linear_iterator = typename storage_type::const_reverse_iterator |
using | iterator = typename iterable_base::iterator |
using | const_iterator = typename iterable_base::const_iterator |
using | reverse_iterator = typename iterable_base::reverse_iterator |
using | const_reverse_iterator = typename iterable_base::const_reverse_iterator |
Public Member Functions | |
template<class... Args> | |
reference | operator() (Args... args) |
template<class... Args> | |
const_reference | operator() (Args... args) const |
template<class... Args> | |
reference | at (Args... args) |
template<class... Args> | |
const_reference | at (Args... args) const |
template<class... Args> | |
reference | unchecked (Args... args) |
template<class... Args> | |
const_reference | unchecked (Args... args) const |
template<class S > | |
disable_integral_t< S, reference > | operator[] (const S &index) |
template<class I > | |
reference | operator[] (std::initializer_list< I > index) |
template<class S > | |
disable_integral_t< S, const_reference > | operator[] (const S &index) const |
template<class I > | |
const_reference | operator[] (std::initializer_list< I > index) const |
template<class... Args> | |
reference | periodic (Args... args) |
template<class... Args> | |
const_reference | periodic (Args... args) const |
template<class It > | |
reference | element (It first, It last) |
template<class It > | |
const_reference | element (It first, It last) const |
template<class S > | |
stepper | stepper_begin (const S &shape) noexcept |
template<class S > | |
stepper | stepper_end (const S &shape, layout_type l) noexcept |
template<class S > | |
const_stepper | stepper_begin (const S &shape) const noexcept |
template<class S > | |
const_stepper | stepper_end (const S &shape, layout_type l) const noexcept |
template<layout_type L = ::xt::layout_type::row_major> | |
layout_iterator< L > | begin () noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
broadcast_iterator< S, L > | begin (const S &shape) noexcept |
template<layout_type L> | |
auto | begin () noexcept -> layout_iterator< L > |
Returns an iterator to the first element of the expression. | |
template<layout_type L, class S > | |
auto | begin (const S &shape) noexcept -> broadcast_iterator< S, L > |
Returns an iterator to the first element of the expression. | |
template<layout_type L = ::xt::layout_type::row_major> | |
const_layout_iterator< L > | begin () const noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
const_broadcast_iterator< S, L > | begin (const S &shape) const noexcept |
template<layout_type L> | |
auto | begin () const noexcept -> const_layout_iterator< L > |
Returns a constant iterator to the first element of the expression. | |
template<layout_type L, class S > | |
auto | begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > |
Returns a constant iterator to the first element of the expression. | |
template<layout_type L = ::xt::layout_type::row_major> | |
layout_iterator< L > | end () noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
broadcast_iterator< S, L > | end (const S &shape) noexcept |
template<layout_type L> | |
auto | end () noexcept -> layout_iterator< L > |
Returns an iterator to the element following the last element of the expression. | |
template<layout_type L, class S > | |
auto | end (const S &shape) noexcept -> broadcast_iterator< S, L > |
Returns an iterator to the element following the last element of the expression. | |
template<layout_type L = ::xt::layout_type::row_major> | |
const_layout_iterator< L > | end () const noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
const_broadcast_iterator< S, L > | end (const S &shape) const noexcept |
template<layout_type L> | |
auto | end () const noexcept -> const_layout_iterator< L > |
Returns a constant iterator to the element following the last element of the expression. | |
template<layout_type L, class S > | |
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. | |
template<layout_type L = ::xt::layout_type::row_major> | |
reverse_layout_iterator< L > | rbegin () noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
reverse_broadcast_iterator< S, L > | rbegin (const S &shape) noexcept |
template<layout_type L> | |
auto | rbegin () noexcept -> reverse_layout_iterator< L > |
Returns an iterator to the first element of the reversed expression. | |
template<layout_type L, class S > | |
auto | rbegin (const S &shape) noexcept -> reverse_broadcast_iterator< S, L > |
Returns an iterator to the first element of the reversed expression. | |
template<layout_type L = ::xt::layout_type::row_major> | |
const_reverse_layout_iterator< L > | rbegin () const noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
const_reverse_broadcast_iterator< S, L > | rbegin (const S &shape) const noexcept |
template<layout_type L> | |
auto | rbegin () const noexcept -> const_reverse_layout_iterator< L > |
Returns a constant iterator to the first element of the reversed expression. | |
template<layout_type L, class S > | |
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. | |
template<layout_type L = ::xt::layout_type::row_major> | |
reverse_layout_iterator< L > | rend () noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
reverse_broadcast_iterator< S, L > | rend (const S &shape) noexcept |
template<layout_type L> | |
auto | rend () noexcept -> reverse_layout_iterator< L > |
Returns an iterator to the element following the last element of the reversed expression. | |
template<layout_type L, class S > | |
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. | |
template<layout_type L = ::xt::layout_type::row_major> | |
const_reverse_layout_iterator< L > | rend () const noexcept |
template<layout_type L = ::xt::layout_type::row_major, class S > | |
const_reverse_broadcast_iterator< S, L > | rend (const S &shape) const noexcept |
template<layout_type L> | |
auto | rend () const noexcept -> const_reverse_layout_iterator< L > |
Returns a constant iterator to the element following the last element of the reversed expression. | |
template<layout_type L, class S > | |
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 and shape | |
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. | |
template<class S = shape_type> | |
void | resize (const S &shape, bool force=false) |
Resizes the optional assembly. | |
template<class S = shape_type> | |
void | resize (const S &shape, layout_type l) |
Resizes the optional assembly. | |
template<class S = shape_type> | |
void | resize (const S &shape, const strides_type &strides) |
Resizes the optional assembly. | |
template<class S = shape_type> | |
auto & | reshape (const S &shape, layout_type layout=static_layout) & |
Reshapes the optional assembly. | |
template<class T > | |
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 |
template<class T > | |
void | fill (const T &value) |
Fills the data with the given value. | |
Data | |
reference | operator[] (size_type i) |
const_reference | operator[] (size_type i) const |
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. | |
template<class... Args> | |
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 |
template<class... Args> | |
auto | operator() (Args... args) -> reference |
Returns a reference to the element at the specified position in the optional assembly. | |
template<class... Args> | |
auto | operator() (Args... args) const -> const_reference |
Returns a constant reference to the element at the specified position in the optional assembly. | |
template<class... Args> | |
auto | at (Args... args) -> reference |
Returns a reference to the element at the specified position in the optional assembly, after dimension and bounds checking. | |
template<class... Args> | |
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. | |
template<class... Args> | |
auto | unchecked (Args... args) -> reference |
Returns a reference to the element at the specified position in the optional assembly. | |
template<class... Args> | |
auto | unchecked (Args... args) const -> const_reference |
Returns a constant reference to the element at the specified position in the optional assembly. | |
template<class S > | |
auto | operator[] (const S &index) -> disable_integral_t< S, reference > |
Returns a reference to the element at the specified position in the optional assembly. | |
template<class I > | |
auto | operator[] (std::initializer_list< I > index) -> reference |
template<class S > | |
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. | |
template<class I > | |
auto | operator[] (std::initializer_list< I > index) const -> const_reference |
template<class... Args> | |
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). | |
template<class... Args> | |
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). | |
template<class It > | |
auto | element (It first, It last) -> reference |
Returns a reference to the element at the specified position in the optional assembly. | |
template<class It > | |
auto | element (It first, It last) const -> const_reference |
Returns a constant reference to the element at the specified position in the optional assembly. | |
Static Public Attributes | |
static constexpr layout_type | static_layout = raw_value_expression::static_layout |
static constexpr bool | contiguous_layout = raw_value_expression::contiguous_layout |
Protected Member Functions | |
xoptional_assembly_base (const xoptional_assembly_base &)=default | |
xoptional_assembly_base & | operator= (const xoptional_assembly_base &)=default |
xoptional_assembly_base (xoptional_assembly_base &&)=default | |
xoptional_assembly_base & | operator= (xoptional_assembly_base &&)=default |
Friends | |
class | xiterable< D > |
class | xconst_iterable< D > |
Broadcasting | |
template<class S > | |
bool | broadcast_shape (S &shape, bool reuse_cache=false) const |
Broadcast the shape of the optional assembly to the specified parameter. | |
template<class S > | |
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 |
linear_iterator | linear_end () noexcept |
const_linear_iterator | linear_begin () const 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 |
reverse_linear_iterator | linear_rend () noexcept |
const_reverse_linear_iterator | linear_rbegin () const 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 |
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. | |
template<class S > | |
auto | stepper_begin (const S &shape) noexcept -> stepper |
template<class S > | |
auto | stepper_end (const S &shape, layout_type l) noexcept -> stepper |
template<class S > | |
auto | stepper_begin (const S &shape) const noexcept -> const_stepper |
template<class S > | |
auto | stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper |
Base class for dense multidimensional optional assemblies.
The xoptional_assembly_base class defines the interface for dense multidimensional optional assembly classes. Optional assembly classes hold optional values and are optimized for tensor operations. xoptional_assembly_base does not embed any data container, this responsibility is delegated to the inheriting classes.
D | The derived type, i.e. the inheriting class for which xoptional_assembly_base provides the interface. |
Definition at line 39 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::backstrides_type = typename raw_value_expression::backstrides_type |
Definition at line 71 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::base_const_reference = typename raw_value_expression::const_reference |
Definition at line 50 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::base_reference = typename raw_value_expression::reference |
Definition at line 49 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::base_value_type = typename raw_value_expression::value_type |
Definition at line 48 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::bool_load_type = xt::bool_load_type<value_type> |
Definition at line 67 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::broadcast_iterator = typename iterable_base::template broadcast_iterator<S, L> |
Definition at line 100 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_broadcast_iterator = typename iterable_base::template const_broadcast_iterator<S, L> |
Definition at line 102 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_flag_expression = const raw_flag_expression& |
Definition at line 88 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_iterator = typename iterable_base::const_iterator |
Definition at line 114 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_layout_iterator = typename iterable_base::template const_layout_iterator<L> |
Definition at line 93 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_linear_iterator = typename storage_type::const_iterator |
Definition at line 109 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_pointer = typename storage_type::const_pointer |
Definition at line 63 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_reference = typename storage_type::const_reference |
Definition at line 61 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_reverse_broadcast_iterator = typename iterable_base::template const_reverse_broadcast_iterator<S, L> |
Definition at line 106 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_reverse_iterator = typename iterable_base::const_reverse_iterator |
Definition at line 116 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_reverse_layout_iterator = typename iterable_base::template const_reverse_layout_iterator<L> |
Definition at line 97 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_reverse_linear_iterator = typename storage_type::const_reverse_iterator |
Definition at line 111 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_stepper = typename iterable_base::const_stepper |
Definition at line 79 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::const_value_expression = const raw_value_expression& |
Definition at line 87 of file xoptional_assembly_base.hpp.
Definition at line 44 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::difference_type = typename raw_value_expression::difference_type |
Definition at line 65 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::expression_tag = xoptional_expression_tag |
Definition at line 84 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::flag_const_reference = typename raw_flag_expression::const_reference |
Definition at line 55 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::flag_expression = raw_flag_expression& |
Definition at line 86 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::flag_reference = typename raw_flag_expression::reference |
Definition at line 54 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::flag_type = typename raw_flag_expression::value_type |
Definition at line 53 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::inner_backstrides_type = typename raw_value_expression::inner_backstrides_type |
Definition at line 75 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::inner_shape_type = typename raw_value_expression::inner_shape_type |
Definition at line 73 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::inner_strides_type = typename raw_value_expression::inner_strides_type |
Definition at line 74 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::inner_types = xcontainer_inner_types<D> |
Definition at line 45 of file xoptional_assembly_base.hpp.
Definition at line 77 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::iterator = typename iterable_base::iterator |
Definition at line 113 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::layout_iterator = typename iterable_base::template layout_iterator<L> |
Definition at line 91 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::linear_iterator = typename storage_type::iterator |
Definition at line 108 of file xoptional_assembly_base.hpp.
Definition at line 62 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::raw_flag_expression = typename inner_types::raw_flag_expression |
Definition at line 52 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::raw_value_expression = typename inner_types::raw_value_expression |
Definition at line 47 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::reference = typename storage_type::reference |
Definition at line 60 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::reverse_broadcast_iterator = typename iterable_base::template reverse_broadcast_iterator<S, L> |
Definition at line 104 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::reverse_iterator = typename iterable_base::reverse_iterator |
Definition at line 115 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::reverse_layout_iterator = typename iterable_base::template reverse_layout_iterator<L> |
Definition at line 95 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::reverse_linear_iterator = typename storage_type::reverse_iterator |
Definition at line 110 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::self_type = xoptional_assembly_base<D> |
Definition at line 43 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::shape_type = typename raw_value_expression::shape_type |
Definition at line 69 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::simd_value_type = xt_simd::simd_type<value_type> |
Definition at line 66 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::size_type = typename raw_value_expression::size_type |
Definition at line 64 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::stepper = typename iterable_base::stepper |
Definition at line 78 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::storage_type = typename inner_types::storage_type |
Definition at line 57 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::strides_type = typename raw_value_expression::strides_type |
Definition at line 70 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::value_expression = raw_value_expression& |
Definition at line 85 of file xoptional_assembly_base.hpp.
using xt::xoptional_assembly_base< D >::value_type = typename storage_type::value_type |
Definition at line 59 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position in the optional assembly, after dimension and bounds checking.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal to the number of dimensions of the optional assembly. |
std::out_of_range | if the number of argument is greater than the number of dimensions or if indices are out of bounds. |
Definition at line 510 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position in the optional assembly, after dimension and bounds checking.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal to the number of dimensions of the optional assembly. |
std::out_of_range | if the number of argument is greater than the number of dimensions or if indices are out of bounds. |
Definition at line 526 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the last element of the optional assembly.
Definition at line 686 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the last element of the optional assembly.
Definition at line 695 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns the backstrides of the optional assembly.
Definition at line 373 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns a constant iterator to the first element of the expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 189 of file xiterable.hpp.
|
inlinenoexcept |
Returns an iterator to the first element of the expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 757 of file xiterable.hpp.
|
inlinenoexcept |
Returns a constant iterator to the first element of the expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 189 of file xiterable.hpp.
Returns an iterator to the first element of the expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 818 of file xiterable.hpp.
|
inline |
Broadcast the shape of the optional assembly to the specified parameter.
shape | the result shape |
reuse_cache | parameter for internal optimization |
Definition at line 806 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 783 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 777 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 789 of file xoptional_assembly_base.hpp.
|
inlineconstexprnoexcept |
Returns the number of dimensions of the optional assembly.
Definition at line 337 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position in the optional assembly.
first | iterator starting the sequence of indices |
last | iterator ending the sequence of indices The number of indices in the sequence should be equal to or greater than the number of dimensions of the optional assembly. |
Definition at line 731 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position in the optional assembly.
first | iterator starting the sequence of indices |
last | iterator ending the sequence of indices The number of indices in the sequence should be equal to or greater than the number of dimensions of the optional assembly. |
Definition at line 745 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns a constant iterator to the element following the last element of the expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 190 of file xiterable.hpp.
|
inlinenoexcept |
Returns an iterator to the element following the last element of the expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 769 of file xiterable.hpp.
|
inlinenoexcept |
Returns a constant iterator to the element following the last element of the expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 190 of file xiterable.hpp.
Returns an iterator to the element following the last element of the expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 832 of file xiterable.hpp.
|
inline |
Fills the data with the given value.
value | the value to fill the data with. |
Definition at line 464 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position of the underlying storage in the optional assembly.
index | index to underlying flat storage. |
Definition at line 706 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position of the underlying storage in the optional assembly.
index | index to underlying flat storage. |
Definition at line 717 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the first element of the optional assembly.
Definition at line 668 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the first element of the optional assembly.
Definition at line 677 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Checks whether the xoptional_assembly_base can be linearly assigned to an expression with the specified strides.
Definition at line 819 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Return a constant expression for the missing mask of the optional assembly.
Definition at line 958 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Return an expression for the missing mask of the optional assembly.
Definition at line 949 of file xoptional_assembly_base.hpp.
|
inline |
Returns true
only if the the specified position is a valid entry in the expression.
args | a list of indices specifying the position in the expression. |
Definition at line 757 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 453 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Return the layout_type of the container.
Definition at line 447 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 839 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 827 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 851 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 857 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 887 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 893 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 845 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 833 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 875 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 863 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 881 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 869 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position in the optional assembly.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal or greater than the number of dimensions of the optional assembly. |
Definition at line 481 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position in the optional assembly.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal or greater than the number of dimensions of the optional assembly. |
Definition at line 494 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position in the optional assembly.
index | a sequence of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices in the list should be equal or greater than the number of dimensions of the optional assembly. |
Definition at line 591 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position in the optional assembly.
index | a sequence of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices in the list should be equal or greater than the number of dimensions of the optional assembly. |
Definition at line 617 of file xoptional_assembly_base.hpp.
|
inline |
Definition at line 604 of file xoptional_assembly_base.hpp.
|
inline |
Definition at line 631 of file xoptional_assembly_base.hpp.
|
inline |
Definition at line 598 of file xoptional_assembly_base.hpp.
|
inline |
Definition at line 625 of file xoptional_assembly_base.hpp.
|
inline |
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).
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal to the number of dimensions of the optional assembly. |
Definition at line 645 of file xoptional_assembly_base.hpp.
|
inline |
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).
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices should be equal to the number of dimensions of the optional assembly. |
Definition at line 659 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns a constant iterator to the first element of the reversed expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 191 of file xiterable.hpp.
|
inlinenoexcept |
Returns an iterator to the first element of the reversed expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 786 of file xiterable.hpp.
|
inlinenoexcept |
Returns a constant iterator to the first element of the reversed expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 191 of file xiterable.hpp.
|
inlinenoexcept |
Returns an iterator to the first element of the reversed expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 852 of file xiterable.hpp.
|
inlinenoexcept |
Returns a constant iterator to the element following the last element of the reversed expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 192 of file xiterable.hpp.
|
inlinenoexcept |
Returns an iterator to the element following the last element of the reversed expression.
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 798 of file xiterable.hpp.
|
inlinenoexcept |
Returns a constant iterator to the element following the last element of the reversed expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 192 of file xiterable.hpp.
Returns an iterator to the element following the last element of the reversed expression.
The iteration is broadcasted to the specified shape.
shape | the shape used for broadcasting |
S | type of the shape parameter. |
L | order used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL . |
Definition at line 866 of file xiterable.hpp.
|
inline |
Reshapes the optional assembly.
shape | the new shape |
layout | the new layout |
Definition at line 426 of file xoptional_assembly_base.hpp.
|
inline |
Definition at line 435 of file xoptional_assembly_base.hpp.
Resizes the optional assembly.
shape | the new shape |
force | force reshaping, even if the shape stays the same (default: false) |
Definition at line 387 of file xoptional_assembly_base.hpp.
|
inline |
Resizes the optional assembly.
shape | the new shape |
strides | the new strides |
Definition at line 413 of file xoptional_assembly_base.hpp.
|
inline |
Resizes the optional assembly.
shape | the new shape |
l | the new layout_type |
Definition at line 400 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns the shape of the optional assembly.
Definition at line 346 of file xoptional_assembly_base.hpp.
|
inline |
Returns the i-th dimension of the expression.
Definition at line 355 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns the number of element in the optional assembly.
Definition at line 328 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 914 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 900 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 921 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 907 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 771 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Definition at line 765 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Returns the strides of the optional assembly.
Definition at line 364 of file xoptional_assembly_base.hpp.
|
inline |
Returns a reference to the element at the specified position in the optional assembly.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices must be equal to the number of dimensions of the optional assembly, else the behavior is undefined. |
Definition at line 552 of file xoptional_assembly_base.hpp.
|
inline |
Returns a constant reference to the element at the specified position in the optional assembly.
args | a list of indices specifying the position in the optional assembly. Indices must be unsigned integers, the number of indices must be equal to the number of dimensions of the optional assembly, else the behavior is undefined. |
Definition at line 578 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Return a constant expression for the values of the optional assembly.
Definition at line 940 of file xoptional_assembly_base.hpp.
|
inlinenoexcept |
Return an expression for the values of the optional assembly.
Definition at line 931 of file xoptional_assembly_base.hpp.
Definition at line 265 of file xoptional_assembly_base.hpp.
Definition at line 265 of file xoptional_assembly_base.hpp.
|
staticconstexpr |
Definition at line 82 of file xoptional_assembly_base.hpp.
|
staticconstexpr |
Definition at line 81 of file xoptional_assembly_base.hpp.