31 #ifndef SACADO_FAD_EXP_GENERALFADTRAITS_HPP
32 #define SACADO_FAD_EXP_GENERALFADTRAITS_HPP
40 template <
typename S>
class GeneralFad;
51 template <
typename Storage>
57 template <
typename Storage>
63 template <
typename Storage>
64 struct IsADType< Fad::Exp::GeneralFad<Storage> > {
69 template <
typename Storage>
71 static const bool value =
false;
75 template <
typename Storage>
76 struct Value< Fad::Exp::GeneralFad<Storage> > {
84 template <
typename Storage>
94 template <
typename Storage>
96 static std::string
eval() {
97 return std::string(
"Sacado::Fad::Exp::GeneralFad< ") +
102 template <
typename Storage>
103 struct IsEqual< Fad::Exp::GeneralFad<Storage> > {
107 return x.isEqualTo(y);
112 template <
typename Storage>
114 static const bool value = Storage::is_statically_sized;
118 template <
typename Storage>
120 static const bool value = Storage::is_statically_sized;
124 template <
typename Storage>
126 static const unsigned value = Storage::static_size;
130 template <
typename Storage>
132 static const unsigned value = Storage::static_size;
138 #ifdef HAVE_SACADO_TEUCHOS
147 template <
typename Storage>
148 struct PromotionTraits<
Sacado::Fad::Exp::GeneralFad<Storage>,
156 template <
typename Storage,
typename R>
157 struct PromotionTraits<
Sacado::Fad::Exp::GeneralFad<Storage>,
R > {
164 template <
typename L,
typename Storage>
165 struct PromotionTraits< L,
Sacado::Fad::Exp::GeneralFad<Storage> > {
173 template <
typename Storage>
174 struct ScalarTraits<
Sacado::Fad::Exp::GeneralFad<Storage> > :
175 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::Exp::GeneralFad<Storage> >
179 template <
typename Ordinal,
typename Storage>
180 struct SerializationTraits<
Ordinal,
Sacado::Fad::Exp::GeneralFad<Storage> > :
181 public Sacado::Fad::SerializationTraitsImp< Ordinal,
182 Sacado::Fad::Exp::GeneralFad<Storage> >
186 template <
typename Ordinal,
typename Storage>
187 struct ValueTypeSerializer<
Ordinal,
Sacado::Fad::Exp::GeneralFad<Storage> > :
188 public Sacado::Fad::SerializerImp< Ordinal,
189 Sacado::Fad::Exp::GeneralFad<Storage>,
190 ValueTypeSerializer<Ordinal,typename Storage::value_type> >
193 typedef ValueTypeSerializer<Ordinal,typename Storage::value_type> ValueSerializer;
194 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
200 #endif // HAVE_SACADO_TEUCHOS
202 #endif // SACADO_FAD_EXP_GENERALFADTRAITS_HPP