Сообщение 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
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
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 {};