Resultados de la búsqueda a petición "enable-if"
Cómo usar adecuadamente std :: enable_if en un constructor
Esta pregunta combina varias piezas de código y es un poco complicada, pero intenté adelgazarla lo más posible. Estoy tratando de usarstd::enable_if para invocar condicionalmente el constructor correcto como resultado de firmas de funciones ...
Usando std :: enable_if con parámetros de tipo anónimo
Trato de usarstd::enable_if con un parámetro de tipo no utilizado y sin nombre, para no distorsionar elreturn tipo. Sin embargo, el siguiente código no se compila. #include <iostream> template <typename T, typename ...
SFINAE no compiló [duplicar]
Esta pregunta ya tiene una respuesta aquí: SFINAE trabajando en el tipo de retorno pero no como parámetro de plantilla [/questions/15427667/sfinae-working-in-return-type-but-not-as-template-parameter] 3 respuestasMuy a menudo usé SFINAE antes, ...
¿Por qué enable_if_t en los argumentos de plantilla se queja de redefiniciones?
Tengo el siguiente caso que funciona usandostd::enable_if : template<typename T, typename std::enable_if<std::is_same<int, T>::value>::type* = nullptr> void f() { } template<typename T, typename std::enable_if<std::is_same<double, ...
¿Por qué SFINAE (enable_if) no funciona para las funciones miembro de una plantilla de clase?
#include <type_traits> struct A{}; struct B{}; template <typename T> struct Foo { typename std::enable_if<std::is_same<T, A>::value>::type bar() {} typename std::enable_if<std::is_same<T, B>::value>::type bar() {} };Mensaje de error: 14:5: ...
Comprender las plantillas de alias
Pregunté unpregunta [https://stackoverflow.com/q/30189926/2642059]que tiene varias referencias al código: template <typename...> using void_t = void;Creo que generalmente tengo un malentendidoplantillas de ...
Especialización de plantillas y enable_if problemas [duplicado]
Esta pregunta ya tiene una respuesta aquí: SFINAE trabajando en el tipo de retorno pero no como parámetro de plantilla [/questions/15427667/sfinae-working-in-return-type-but-not-as-template-parameter] 3 respuestasMe encuentro con un problema ...
Habilite el método basado en el parámetro de plantilla booleana
Quiero implementar una función privada basada en un parámetro de plantilla booleana. Algo como eso: #include <iostream> using namespace std; template <bool is_enabled = true> class Aggregator { public: void fun(int a) { funInternal(a); } ...
habilitar el miembro de la clase según la plantilla
Ya sé que puedes habilitar (o no) el método de una clase usandostd::enable_if por ejemplo: template<size_t D, size_t E> class Field { ... size_t offset(const std::array<float,D>& p) const { ... } template<typename TT = size_t> ...
C ++ 11: Desambiguate a un miembro de la clase en herencia múltiple
Supongamos que tengo esta plantilla de clase base variadic: template <typename ... Types> class Base { public: // The member foo() can only be called when its template // parameter is contained within the Types ... pack. template <typename T> ...