Resultados de la búsqueda a petición "sfinae"
Es posible especializar una definición de plantilla basada en la existencia de una definición de tipo anidada de un parámetro de tipo de plantilla?
Tengo una plantilla,template <typename T> class wrapper, que me gustaría especializar en base a la existencia detypename T::context_type. Sitypename T::context_typee declara @, entonces los constructores y las sobrecargas del operador de ...
detección de typedef en tiempo de compilación (metaprogramación de plantilla)
Actualmente estoy haciendo una metaprogramación de plantilla. En mi caso, puedo manejar cualquier tipo "iterable", es decir, cualquier tipo para el que untypedef foo const_iterator existe de la misma manera. Intenté utilizar la nueva ...
La falla de sustitución no es un error (SFINAE) para enum
¿Hay alguna forma de usar la falla de sustitución no es un error (SFINAE) para la enumeración? template <typename T> struct Traits { } template <> struct Traits<A> { }; template <> struct Traits<B> { enum { iOption = 1 }; }; template <T> void ...
Compruebe si una clase tiene una función miembro de una firma determinada
Solicito un truco de plantilla para detectar si una clase tiene una función miembro específica de una firma determinada. El problema es similar al citado aquíhttp: //www.gotw.ca/gotw/071.ht [http://www.gotw.ca/gotw/071.htm] pero no es lo ...
boost :: enable_if no está en la firma de la función
Esta es solo una pregunta sobre el estilo: no me gusta la forma de C ++ para la metaprogramación de plantillas que requiere que use el tipo de retorno o agregue un argumento ficticio adicional para los trucos con SFINAE. Entonces, la idea que se ...
SFINAE para probar una función libre desde otro espacio de nombres
Estaba tratando de encontrar un truco para probar sistd::isnan se define sin compiladores de carcasa especiales en el preprocesador, y se le ocurrió lo siguiente, que esperaba que funcionara bien. #include <cmath> #include <type_traits> ...
¿Cómo funciona esta plantilla de clase has_member?
Estoy tratando de entender cómo funciona la siguiente plantilla de clase (tomada deaqu [http://groups.google.com/group/comp.lang.c++.moderated/msg/e5fbc9305539f699?pli=1] ), pero no pude entenderlo correctamente: template <typename Type> class ...
C ++ ¿Ejemplos de SFINAE?
Quiero entrar en más meta-programación de plantillas. Sé que SFINAE significa "falla de sustitución no es un error". ¿Pero alguien puede mostrarme un buen uso para SFINAE?