template <>
struct EnableIfScalar<Differentiation::SD::Expression>
{
- typedef Differentiation::SD::Expression type;
+ using type = Differentiation::SD::Expression;
};
Differentiation::SD::Expression,
typename std::enable_if<std::is_arithmetic<T>::value>::type>
{
- typedef Differentiation::SD::Expression type;
+ using type = Differentiation::SD::Expression;
};
template <typename T>
boost::is_complex<T>::value &&
std::is_arithmetic<typename T::value_type>::value>::type>
{
- typedef Differentiation::SD::Expression type;
+ using type = Differentiation::SD::Expression;
};
} // namespace SD
struct ProductTypeImpl<Differentiation::SD::Expression,
Differentiation::SD::Expression>
{
- typedef Differentiation::SD::Expression type;
+ using type = Differentiation::SD::Expression;
};
template <typename T>
struct ProductTypeImpl<T, Differentiation::SD::Expression>
{
- typedef
- typename SD::GeneralProductTypeImpl<T,
- Differentiation::SD::Expression>::type
- type;
+ using type = typename SD::
+ GeneralProductTypeImpl<T, Differentiation::SD::Expression>::type;
};
template <typename T>
struct ProductTypeImpl<Differentiation::SD::Expression, T>
{
- typedef
- typename SD::GeneralProductTypeImpl<T,
- Differentiation::SD::Expression>::type
- type;
+ using type = typename SD::
+ GeneralProductTypeImpl<T, Differentiation::SD::Expression>::type;
};
} // namespace internal
SD::types::symbol_vector symbols;
symbols.reserve(substitution_values.size());
- for (typename SD::types::substitution_map::const_iterator it =
- substitution_values.begin();
- it != substitution_values.end();
- ++it)
- symbols.push_back(it->first);
+ for (const auto &substitution : substitution_values)
+ symbols.push_back(substitution.first);
return symbols;
}