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.

Namespaces

namespace  Sacado

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

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.


Generated on Wed May 12 21:39:44 2010 for Sacado Package Browser (Single Doxygen Collection) by  doxygen 1.4.7