Expression Templates Library (ETL)
Public Types | Public Member Functions | List of all members
etl::expression_able< D > Struct Template Reference

CRTP class to inject functions creating new expressions. More...

#include <expression_able.hpp>

Public Types

using derived_t = D
 The derived type.
 

Public Member Functions

derived_tas_derived () noexcept
 Returns a reference to the derived object, i.e. the object using the CRTP injector. More...
 
template<typename E >
auto scale (E &&e)
 Scale the expression by a scalar factor or another expression. More...
 
auto fflip ()
 Flip the matrix horizontally and vertically. More...
 
auto hflip ()
 Flip the matrix horizontally. More...
 
auto vflip ()
 Flip the matrix vertically. More...
 
auto transpose ()
 Transpose the matrix. More...
 
auto real ()
 Extract the real part of a complex expression. More...
 
auto imag ()
 Extract the imag part of a complex expression. More...
 
auto conj ()
 Returns a new expression containg the conjugate of each value of the expression. More...
 

Detailed Description

template<typename D>
struct etl::expression_able< D >

CRTP class to inject functions creating new expressions.

All the functions returns new expressions, no modificatio of the expression is done.j

Member Function Documentation

◆ as_derived()

template<typename D>
derived_t& etl::expression_able< D >::as_derived ( )
inlinenoexcept

Returns a reference to the derived object, i.e. the object using the CRTP injector.

Returns
a reference to the derived object.

◆ conj()

template<typename D>
auto etl::expression_able< D >::conj ( )
inline

Returns a new expression containg the conjugate of each value of the expression.

Returns
A new expression containing the conjugate of each complex value of the expression.

◆ fflip()

template<typename D>
auto etl::expression_able< D >::fflip ( )
inline

Flip the matrix horizontally and vertically.

Returns
A new expression representing the horizontal and vertical flipping of the matrix.

◆ hflip()

template<typename D>
auto etl::expression_able< D >::hflip ( )
inline

Flip the matrix horizontally.

Returns
A new expression representing the horizontal flipping of the matrix.

◆ imag()

template<typename D>
auto etl::expression_able< D >::imag ( )
inline

Extract the imag part of a complex expression.

Returns
A new expression representing only imag part of this expression.

◆ real()

template<typename D>
auto etl::expression_able< D >::real ( )
inline

Extract the real part of a complex expression.

Returns
A new expression representing only real part of this expression.

◆ scale()

template<typename D>
template<typename E >
auto etl::expression_able< D >::scale ( E &&  e)
inline

Scale the expression by a scalar factor or another expression.

Returns
A new expression representing the scaling of this expression.

◆ transpose()

template<typename D>
auto etl::expression_able< D >::transpose ( )
inline

Transpose the matrix.

Returns
A new expression representing the transposition of this expression.

◆ vflip()

template<typename D>
auto etl::expression_able< D >::vflip ( )
inline

Flip the matrix vertically.

Returns
A new expression representing the vertical flipping of the matrix.

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