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

3 la respuesta

¿Cuál es la restricción correcta de 'enable_if' en el setter de reenvío perfecto?

Herb Sutter's¡De vuelta a lo fundamental! Esenciales de C ++ moderno presentación en CppCon discutió diferentes opciones para pasar parámetros y comparó su desempeño versus facilidad de escritura / enseñanza. La opción 'avanzada' (que proporciona ...

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

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

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