Sacado Development
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Sacado::Fad::Exp::Expr< T > Class Template Reference

Wrapper for a generic expression template. More...

#include <Sacado_Fad_Exp_Expression.hpp>

Public Types

typedef T derived_type
 Typename of derived object, returned by derived()
 

Public Member Functions

SACADO_INLINE_FUNCTION const derived_typederived () const
 Return derived object.
 
SACADO_INLINE_FUNCTION const volatile derived_typederived () const volatile
 Return derived object.
 

Detailed Description

template<typename T>
class Sacado::Fad::Exp::Expr< T >

Wrapper for a generic expression template.

This class is used to limit the overload set for building up expressions. Each expression object should derive from this using CRTP:

class T : public Expr<T> { ... };
Wrapper for a generic expression template.
Definition Sacado_Fad_Exp_Expression.hpp:55

In this case the default implementation here should be correct for any expression class. If not, an expression class is free to change the implementation through partial specialization.

Member Typedef Documentation

◆ derived_type

template<typename T >
typedef T Sacado::Fad::Exp::Expr< T >::derived_type

Typename of derived object, returned by derived()

This assumes a CRTP pattern where T is infact derived from Expr<T>

Member Function Documentation

◆ derived() [1/2]

template<typename T >
SACADO_INLINE_FUNCTION const derived_type & Sacado::Fad::Exp::Expr< T >::derived ( ) const
inline

Return derived object.

This assumes a CRTP pattern where T is infact derived from Expr<T>. This will only compile if this infact the case.

Referenced by Sacado::Fad::Exp::GeneralFad< Storage >::GeneralFad(), Sacado::Fad::Exp::GeneralFad< Storage >::operator=(), and Sacado::Fad::Exp::GeneralFad< Storage >::SACADO_EXP_ENABLE_EXPR_FUNC().

◆ derived() [2/2]

template<typename T >
SACADO_INLINE_FUNCTION const volatile derived_type & Sacado::Fad::Exp::Expr< T >::derived ( ) const volatile
inline

Return derived object.

This assumes a CRTP pattern where T is infact derived from Expr<T>. This will only compile if this infact the case.


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