Resultados de la búsqueda a petición "template-meta-programming"

4 la respuesta

Generando estructuras dinámicamente en tiempo de compilación.

Tengo que generar una estructura de datos que contenga ciertos campos solo bajo ciertas condiciones. Esto normalmente siempre se traduce en algo como lo sigu...

5 la respuesta

Crear vectores n-dimensionales con tamaños dados

Entonces, lo que quiero es crear un vector multidimensional de un tipo dado donde la primera dimensión tendrá el tamaño del primer argumento de una llamada de función, etc., por ejemplo, si lo hago std::size_t n = 5; auto x = make_vector<int>(n ...

2 la respuesta

Realice la resolución de sobrecarga con la metaprogramación de plantilla

Inspirado por otra pregunta, traté de encontrar una manera de deducir el tipo de función miembro de sobrecarga dado el argumento real utilizado para llamar a esa función. Esto es lo que tengo hasta ahora: #include <type_traits> ...

4 la respuesta

¿Cuáles son las diferencias entre las plantillas de C ++ y los genéricos de Java / C # y cuáles son los límites? [cerrado]

3 la respuesta

SFINAE para hacer que la plantilla base siempre resulte en un error

Entonces estoy diseñando una especie demy_numeric_cast función para limitar los tipos de conversiones disponibles al usar un marco que estoy escribiendo. Fue bastante sencillo hacer algo como template<typename To, typename From> constexpr To ...

6 la respuesta

C ++ tiempo de compilación ejecución de la función

Tengo etiquetas de cadena en mi código que se convierten en números y se utilizan para buscar valores en una estructura de valor de etiqueta. Tengo algo como esto: void foo() { type value = search("SomeTag"); } Donde la búsqueda se define ...

2 la respuesta

Deducir el primer argumento de plantilla con otros parámetros de plantilla predeterminados

Gcc y clang parecen estar en desacuerdo sobre si este código debe compilarse o no: #include <type_traits> template <typename Signature, int N = 0> struct MyDelegate { }; template <typename D> struct signature_traits; template <template ...

4 la respuesta

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

4 la respuesta

Verificación de un miembro existe, posiblemente en una clase base, versión C ++ 11

Inhttps: //stackoverflow.com/a/1967183/13484 [https://stackoverflow.com/a/1967183/134841], se proporciona una solución para verificar estáticamente si existe un miembro, posiblemente en una subclase de un tipo: template <typename Type> class ...

2 la respuesta

Argumento especificado explícitamente no válido para el parámetro de plantilla que es constexpr

Tengo unstatic_loop construir así template <std::size_t n, typename F> void static_loop(F&& f) { static_assert(n <= 8 && "static loop size should <= 8"); if constexpr (n >= 8) f(std::integral_constant<size_t, n - 8>()); if constexpr (n >= ...