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

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

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

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

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

A>Как раз была идея не вытаскивать, а чтобы он автоматически вывелся.

А, мы уже от практических потребностей к этюдам перешли? Ну хорошо:

http://coliru.stacked-crooked.com/a/a10d859841faf446

struct AnyType
{
    template <typename T>
    operator T() const;
};

template <typename, typename = bool>
struct is_predicate : std::false_type {};

template <typename P>
struct is_predicate<P, std::decay_t<decltype(std::declval<P>()(std::declval<AnyType>()))>> : std:: true_type {};
Re[8]: Вывод типа шаблонного параметра функции
Здравствуйте, andyp, Вы писали:

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

A>Как раз была идея не вытаскивать, а чтобы он автоматически вывелся.

А, мы уже от практических потребностей к этюдам перешли? Ну хорошо:

http://coliru.stacked-crooked.com/a/d57523b3e99490f8

struct AnyType
{
    template <typename T>
    operator T() const;
};

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

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