use only one specialization using FT

cannot get the specialization as an object inherits from Lazy
This commit is contained in:
Sébastien Loriot 2025-08-07 18:19:02 +02:00
parent ccaa56b291
commit b1f151e598
1 changed files with 11 additions and 15 deletions

View File

@ -112,23 +112,19 @@ template<class T>inline std::enable_if_t<std::is_empty<T>::value, int> depth(T){
namespace internal{
template <typename AT, typename ET, typename E2A>
struct Evaluate<Lazy<AT, ET, E2A>>
template <typename ET>
struct Evaluate<Lazy_exact_nt<ET>>
{
template <typename AT, typename ET2, typename E2A>
void operator()(const Lazy<AT, ET2, E2A>& l)
{
void operator()(const Lazy<AT, ET, E2A>& l)
{
exact(l);
}
exact(l);
}
void operator()(const Lazy_exact_nt<ET>& l)
{
exact(l);
}
};
template <typename ET>
struct Evaluate<Lazy_exact_nt<ET>>
{
void operator()(const Lazy_exact_nt<ET>& l)
{
exact(l);
}
};
} // internal namespace
// For an iterator, exact/approx applies to the objects it points to