Sacado_Traits.hpp File Reference

#include "Sacado_ConfigDefs.h"
#include <string>
Include dependency graph for Sacado_Traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Sacado::Promote< A, B >
 Base template specification for Promote. More...
struct  Sacado::Promote< A, A >
 Specialization of Promote for a single type. More...
struct  Sacado::ScalarType< T >
 Base template specification for ScalarType. More...
struct  Sacado::ValueType< T >
 Base template specification for ValueType. More...
struct  Sacado::IsADType< T >
 Base template specification for IsADType. More...
struct  Sacado::IsScalarType< T >
 Base template specification for IsScalarType. More...
struct  Sacado::Value< T >
 Base template specification for Value. More...
struct  Sacado::ScalarValue< T >
 Base template specification for ScalarValue. More...
struct  Sacado::MarkConstant< T >
 Base template specification for marking constants. More...
struct  Sacado::StringName< T >
 Base template specification for string names of types. More...

Namespaces

namespace  Sacado
 

Abstract class that provides access to a parameter value in a code for the parameter library. An object of this type is required to construct a ParameterRegistration object.


Defines

#define SACADO_PROMOTE_SPECIALIZATION(type1, type2, type3)
 Specialization of Promote to builtin types.
#define SACADO_BUILTIN_SPECIALIZATION(t, NAME)
 Specialization of above classes to builtin types.

Define Documentation

#define SACADO_PROMOTE_SPECIALIZATION ( type1,
type2,
type3   ) 
Value:
template <> struct Promote< type1, type2 > {       \
    typedef type3 type;                        \
  };                 \
  template <> struct Promote< type2, type1 > {       \
    typedef type3 type;                  \
  };

Specialization of Promote to builtin types.

Definition at line 76 of file Sacado_Traits.hpp.

#define SACADO_BUILTIN_SPECIALIZATION ( t,
NAME   ) 
Value:
template <> struct ScalarType< t > {              \
    typedef t type;                 \
  };                                                      \
  template <> struct ValueType< t > {             \
    typedef t type;                 \
  };                                                      \
  template <> struct IsADType< t > {              \
    static const bool value = false;              \
  };                                                      \
  template <> struct IsScalarType< t > {            \
    static const bool value = true;             \
  };                                                      \
  template <> struct Value< t > {             \
    static const t& eval(const t& x) { return x; }        \
  };                \
  template <> struct ScalarValue< t > {             \
    static const t& eval(const t& x) { return x; }        \
  };                \
  template <> struct StringName< t > {        \
    static std::string eval() { return NAME; }      \
  };

Specialization of above classes to builtin types.

Definition at line 152 of file Sacado_Traits.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:19:41 2011 for Sacado Package Browser (Single Doxygen Collection) by  doxygen 1.6.3