Информация об изменениях

Сообщение Re[6]: Вывод типа шаблонного параметра функции от 19.03.2020 11:02

Изменено 19.03.2020 11:11 rg45

Re[6]: Вывод типа шаблонного параметра функции
Здравствуйте, andyp, Вы писали:

A>Но что-то не работает. Где-то косячу


http://coliru.stacked-crooked.com/a/9f0ab79a6a6a8cb8

template <typename T, typename P, typename = bool>
struct is_predicate_of : std::false_type {};

template <typename T, typename P>
struct is_predicate_of<T, P, std::decay_t<decltype(std::declval<P>()(std::declval<T>()))>> : std:: true_type {};


Ну а тип параметра предиката вытаскиваем уже из типов входных списков.
Re[6]: Вывод типа шаблонного параметра функции
Здравствуйте, andyp, Вы писали:

A>Но что-то не работает. Где-то косячу


http://coliru.stacked-crooked.com/a/9f0ab79a6a6a8cb8

template <typename T, typename Pred, typename = bool>
struct is_predicate_of : std::false_type {};

template <typename T, typename Pred>
struct is_predicate_of<T, Pred, std::decay_t<decltype(std::declval<Pred>()(std::declval<T>()))>> : std:: true_type {};


Ну а тип параметра предиката вытаскиваем уже из типов входных списков.