I am trying to understad how std::less is implemented so I can say
template <typename T>
struct myless
{
constexpr bool operator()(const T &lhs, const T &rhs) const
{
return lhs < rhs;
}
};
template <typename A, typename B, typename U = std::myless> // std::less works
bool f(A a, B b, U u = U())
{
return u(a, b);
}
int main()
{
std::cout << std::boolalpha;
std::cout << f("AB/CD", "CD/AB",) << '\n';
std::cout << f(100, 10) << '\n';
}
This doesn't work. Any suggestions?
Aucun commentaire:
Enregistrer un commentaire