Sacado  Development
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
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() More...
 

Public Member Functions

SACADO_INLINE_FUNCTION const
derived_type
derived () const
 Return derived object. More...
 
SACADO_INLINE_FUNCTION const
volatile derived_type
derived () const volatile
 Return derived object. More...
 

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> { ... };

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

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

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().

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: