Resultados de la búsqueda a petición "enable-if"

1 la respuesta

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 ...

4 la respuesta

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 ...

2 la respuesta

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, ...

4 la respuesta

¿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, ...

1 la respuesta

¿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: ...

2 la respuesta

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 ...

1 la respuesta

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 ...

1 la respuesta

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); } ...

2 la respuesta

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> ...

2 la respuesta

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> ...