49 #ifndef SACADO_FAD_SIMPLEFADTRAITS_HPP
50 #define SACADO_FAD_SIMPLEFADTRAITS_HPP
57 template <
typename T>
class SimpleFad;
67 template <
typename ValueT>
73 template <
typename ValueT>
79 template <
typename ValueT>
85 template <
typename ValueT>
87 static const bool value =
false;
91 template <
typename ValueT>
92 struct Value< Fad::SimpleFad<ValueT> > {
99 template <
typename ValueT>
108 template <
typename ValueT>
111 return std::string(
"Sacado::Fad::SimpleFad< ") +
116 template <
typename ValueT>
125 template <
typename ValueT>
131 template <
typename ValueT>
132 struct IsFad< Fad::SimpleFad<ValueT> > {
139 #ifdef HAVE_SACADO_TEUCHOS
147 template <
typename ValueT>
148 struct PromotionTraits<
Sacado::Fad::SimpleFad<ValueT>,
156 template <
typename ValueT,
typename R>
157 struct PromotionTraits<
Sacado::Fad::SimpleFad<ValueT>,
R > {
163 template <
typename L,
typename ValueT>
164 struct PromotionTraits< L,
Sacado::Fad::SimpleFad<ValueT> > {
171 template <
typename ValueT>
172 struct ScalarTraits<
Sacado::Fad::SimpleFad<ValueT> > :
173 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::SimpleFad<ValueT> >
177 template <
typename Ordinal,
typename ValueT>
178 struct SerializationTraits<
Ordinal,
Sacado::Fad::SimpleFad<ValueT> > :
179 public Sacado::Fad::SerializationTraitsImp< Ordinal,
180 Sacado::Fad::SimpleFad<ValueT> >
184 template <
typename Ordinal,
typename ValueT>
185 struct ValueTypeSerializer<
Ordinal,
Sacado::Fad::SimpleFad<ValueT> > :
186 public Sacado::Fad::SerializerImp< Ordinal,
187 Sacado::Fad::SimpleFad<ValueT>,
188 ValueTypeSerializer<Ordinal,ValueT> >
191 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
192 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
198 #endif // HAVE_SACADO_TEUCHOS
200 #endif // SACADO_FAD_SIMPLEFADTRAITS_HPP