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

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

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

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

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

4 la respuesta

enable_if y el operador de conversión?

Cualquier posibilidad de usarenable_if con un operador de conversión de tipo? Parece complicado, ya que tanto el tipo de retorno como la lista de parámetros son implícitos.

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

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

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

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

1 la respuesta

C ++: iteración sobre una tupla y resolución de tipo frente a parámetros constantes

Actualmente estoy en el proceso de escribir sobrecargas de operadores aritméticos para tuplas. El operador itera sobre la tupla para realizar la operación en cada uno de sus elementos individuales. Aquí está la definición para operador + ...