|
Expression Templates Library (ETL)
|
Abstract base class for temporary unary expression. More...
#include <base_temporary_expr.hpp>


Public Types | |
| using | this_type = base_temporary_expr_un< D, A > |
| This type. | |
| using | base_type = base_temporary_expr< D, Fast > |
| The base type. | |
Public Types inherited from etl::base_temporary_expr< D, Fast > | |
| using | derived_t = D |
| The derived type. | |
| using | value_type = typename decay_traits< D >::value_type |
| The value type. | |
| using | result_type = temporary_detail::expr_result_t< Fast, D > |
| The result type. | |
| using | memory_type = value_type * |
| The memory type. | |
| using | const_memory_type = const value_type * |
| The const memory type. | |
| template<typename VV = default_vec> | |
| using | vec_type = typename VV::template vec_type< value_type > |
| The vectorization type for VV. | |
Public Types inherited from etl::value_testable< D > | |
| using | derived_t = D |
| The derived type. | |
Public Types inherited from etl::dim_testable< D > | |
| using | derived_t = D |
| The derived type. | |
Public Types inherited from etl::iterable< const D, true > | |
| using | derived_t = const D |
| The derived type. | |
Public Member Functions | |
| base_temporary_expr_un (A a) | |
| Construct a new expression. More... | |
| base_temporary_expr_un (const base_temporary_expr_un &e) | |
| Construct a new expression by copy. More... | |
| base_temporary_expr_un (base_temporary_expr_un &&e) noexcept | |
| Construct a new expression by move. More... | |
| template<typename E > | |
| bool | alias (const E &rhs) const |
| Test if this expression aliases with the given expression. More... | |
| std::add_lvalue_reference_t< A > | a () |
| Returns the sub expression. More... | |
| cpp::add_const_lvalue_t< A > | a () const |
| Returns the sub expression. More... | |
| void | visit (detail::evaluator_visitor &visitor) const |
| Apply the given visitor to this expression and its descendants. More... | |
Public Member Functions inherited from etl::base_temporary_expr< D, Fast > | |
| base_temporary_expr () | |
| Construct a new base_temporary_expr. | |
| base_temporary_expr (const base_temporary_expr &expr)=default | |
| Copy construct a new base_temporary_expr. | |
| base_temporary_expr (base_temporary_expr &&rhs) | |
| Move construct a base_temporary_expr The right hand side cannot be used anymore after ths move. More... | |
| base_temporary_expr & | operator= (const base_temporary_expr &)=delete |
| base_temporary_expr & | operator= (base_temporary_expr &&)=delete |
| value_type | operator[] (size_t i) const |
| Returns the element at the given index. More... | |
| value_type | read_flat (size_t i) const |
| Returns the value at the given index This function never alters the state of the container. More... | |
Public Member Functions inherited from etl::value_testable< D > | |
| derived_t & | as_derived () noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| const derived_t & | as_derived () const noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| bool | is_finite () const noexcept |
| Indicates if the expression contains only finite values. More... | |
| bool | is_zero () const noexcept |
| Indicates if the expression contains only zero values. More... | |
| bool | is_diagonal () const noexcept |
| Indicates if the expression is diagonal. More... | |
| bool | is_uniform () const noexcept |
| Indicates if the expression is uniform, i.e. all elements are of the same value. More... | |
Public Member Functions inherited from etl::dim_testable< D > | |
| derived_t & | as_derived () noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| const derived_t & | as_derived () const noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| bool | is_square () const noexcept |
| Indicates if the expressions is of square dimensions (only for 2d expression) More... | |
| bool | is_rectangular () const noexcept |
| Indicates if the expressions is of rectangular dimensions (only for 2d expression) More... | |
| bool | is_sub_square () const noexcept |
| Indicates if the expressions is of square dimensions, ignoring the first dimension (only for 3d expression) More... | |
| bool | is_sub_rectangular () const noexcept |
| Indicates if the expressions is of rectangular dimensions, ignoring the first dimension (only for 3d expression) More... | |
| bool | is_symmetric () const noexcept |
| Indicates if the given expression is a symmetric matrix or not. More... | |
| bool | is_lower_triangular () const noexcept |
| Indicates if the given expression is a lower triangular matrix or not. More... | |
| bool | is_uni_lower_triangular () const noexcept |
| Indicates if the given expression is a uni lower triangular matrix or not. More... | |
| bool | is_strictly_lower_triangular () const noexcept |
| Indicates if the given expression is a strictly lower triangular matrix or not. More... | |
| bool | is_upper_triangular () const noexcept |
| Indicates if the given expression is a upper triangular matrix or not. More... | |
| bool | is_uni_upper_triangular () const noexcept |
| Indicates if the given expression is a uni upper triangular matrix or not. More... | |
| bool | is_strictly_upper_triangular () const noexcept |
| Indicates if the given expression is a strictly upper triangular matrix or not. More... | |
| bool | is_triangular () const noexcept |
| Indicates if the given expression is a triangular matrix or not. More... | |
Public Member Functions inherited from etl::iterable< const D, true > | |
| derived_t & | as_derived () noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| const derived_t & | as_derived () const noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| auto | begin () noexcept |
| Return an iterator to the first element of the matrix. More... | |
| auto | begin () const noexcept |
| Return an iterator to the first element of the matrix. More... | |
| auto | end () noexcept |
| Return an iterator to the past-the-end element of the matrix. More... | |
| auto | end () const noexcept |
| Return an iterator to the past-the-end element of the matrix. More... | |
| auto | cbegin () const noexcept |
| Return an iterator to the first element of the matrix. More... | |
| auto | cend () const noexcept |
| Return an iterator to the past-the-end element of the matrix. More... | |
Public Attributes | |
| A | _a |
| The sub expression reference. | |
Additional Inherited Members | |
Protected Member Functions inherited from etl::base_temporary_expr< D, Fast > | |
| derived_t & | as_derived () noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| const derived_t & | as_derived () const noexcept |
| Returns a reference to the derived object, i.e. the object using the CRTP injector. More... | |
| bool | is_allocated () const noexcept |
| Indicates if the temporary has been allocated. More... | |
| bool | is_evaluated () const noexcept |
| Indicates if the temporary has been evaluated. More... | |
| void | evaluate () const |
| Evaluate the expression, if not evaluated. More... | |
| void | allocate_temporary () const |
| Allocate the necessary temporaries, if necessary. | |
| template<size_t... I> | |
| result_type * | dyn_allocate (std::index_sequence< I... >) const |
| Allocate the dynamic temporary. | |
| result_type * | allocate () const |
| Allocate the temporary. | |
Protected Attributes inherited from etl::base_temporary_expr< D, Fast > | |
| std::shared_ptr< bool > | evaluated |
| Indicates if the expression has been evaluated. | |
| std::shared_ptr< result_type > | _c |
| The result reference. | |
Abstract base class for temporary unary expression.
| D | The derived type |
| A | The sub type |
|
inlineexplicit |
Construct a new expression.
| a | The sub expression |
|
inline |
Construct a new expression by copy.
| e | The expression to copy |
|
inlinenoexcept |
Construct a new expression by move.
| e | The expression to move |
|
inline |
Returns the sub expression.
|
inline |
Returns the sub expression.
|
inline |
Test if this expression aliases with the given expression.
| rhs | The other expression to test |
|
inline |
Apply the given visitor to this expression and its descendants.
| visitor | The visitor to apply |
1.8.13