Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
Sacado::Base< T > Struct Template Reference

Base class for Sacado types to control overload resolution. More...

#include <Sacado_Base.hpp>

Inheritance diagram for Sacado::Base< T >:
Inheritance graph
[legend]

Public Types

typedef T derived_type
 

Public Member Functions

const derived_typederived () const
 

Detailed Description

template<typename T>
struct Sacado::Base< T >

Base class for Sacado types to control overload resolution.

Non-expression template-based Sacado AD types should be derived from this class using the AD type as the template parameter (through CRTP) and implement their overloads using this type instead of the AD type. The purpose of this is to control the visible overload set for the math functions so Sacado's overloads only match when at least one of the arguments is in fact a Sacado type (since most AD types enable implicit conversions from their inner scalar type).

Definition at line 26 of file Sacado_Base.hpp.

Member Typedef Documentation

template<typename T>
typedef T Sacado::Base< T >::derived_type

Definition at line 27 of file Sacado_Base.hpp.

Member Function Documentation

template<typename T>
const derived_type& Sacado::Base< T >::derived ( ) const
inline

Definition at line 28 of file Sacado_Base.hpp.


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