Preguntas etiquetadas con sfinae

149
¿Cómo funciona `void_t`

Vi la charla de Walter Brown en Cppcon14 sobre la programación de plantillas modernas ( Parte I , Parte II ) donde presentó su void_ttécnica SFINAE. Ejemplo: Dada una plantilla variable simple que evalúa voidsi todos los argumentos de la plantilla están bien formados: template< class ... >...

82
¿Cómo se implementa std :: is_function?

¿Cómo es la siguiente implementación std::is_function? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; (de la referencia de CPP ) Me parece que una intsería una función...

40
Enfoques para funcionar SFINAE en C ++

Estoy usando la función SFINAE en gran medida en un proyecto y no estoy seguro de si hay alguna diferencia entre los siguientes dos enfoques (aparte del estilo): #include <cstdlib> #include <type_traits> #include <iostream> template <class T, class =

8
¿Por qué una especialización de plantilla de clase parcial en una clase de plantilla coincidente es ambigua con otra especialización parcial sin la coincidencia de plantilla?

La pregunta puede ser demasiado difícil de describir en una oración del título, pero aquí hay un ejemplo mínimo: #include <iostream> #include <type_traits> template <class T, class U, class Enabler> struct my_trait : std::false_type {}; template <class T, class U> struct...