29 #ifndef PIRANHA_POLYNOMIAL_FWD_HPP 30 #define PIRANHA_POLYNOMIAL_FWD_HPP 32 #include <type_traits> 34 #include <piranha/series.hpp> 42 #if !defined(PIRANHA_DOXYGEN_INVOKED) 45 struct polynomial_tag;
49 template <
typename T,
typename =
void>
51 static const bool value =
false;
55 struct poly_in_cf<T, typename
std::enable_if<(series_recursion_index<T>::value > 0u)
56 && std::is_base_of<polynomial_tag,
57 typename T::term_type::cf_type>::value>::type> {
58 static const bool value =
true;
62 struct poly_in_cf<T, typename
std::enable_if<(series_recursion_index<T>::value > 0u)
63 && !std::is_base_of<polynomial_tag,
64 typename T::term_type::cf_type>::value>::type> {
65 static const bool value = poly_in_cf<typename T::term_type::cf_type>::value;
70 template <
typename,
typename>