Resultados de la búsqueda a petición "typetraits"

5 la respuesta

¿Por qué no hay un rasgo de tipo std :: is_struct?

Lo he visto para verificar si un tipoT es una clase que puedo usar: bool isClass = std::is_class<T>::value;Devuelve verdadero para ambas clases y estructuras. Sé que en C ++ son casi lo mismo, pero me gustaría saber por qué no hay una distinción ...

2 la respuesta

¿Cuándo es una lambda trivial?

¿Cuándo se garantiza que una lambda sea trivial? Asumí que si captura solo tipos triviales o nada, sería trivial. Sin embargo, no tengo ningún estándar para respaldar eso. Mi motivación fue mover algo de código de Visual C ++ 12 a 14 y descubrí ...

2 la respuesta

¿Los punteros de función son objetos de función en C ++?

El estándar C ++ define los objetos de función como: Un tipo de objeto de función es un tipo de objeto que puede ser el tipo de la expresión postfix en una llamada de función. ...

2 la respuesta

Compruebe si se pasa un tipo en el paquete de parámetros de plantilla variadic

He escuchado en alguna parte que, usando la nueva sintaxis de C ++ 1z, es realmente fácil verificar si se pasa un tipo en un paquete de parámetros de plantilla variadic, aparentemente puede hacerlo con un código que tiene una longitud de una ...

1 la respuesta

¿Cómo verificar si T es un tipo agregado?

Se acerca destd::is_pod. Pero verifica más que solo los tipos agregados. O esstd::is_pod solo lo mejor que podemos hacer? Básicamente, quiero escribir una plantilla de función ...

2 la respuesta

Comprobando si un contenedor de secuencia es contiguo en la memoria

¿Hay alguna manera de verificar si un contenedor de secuencia es contiguo en la memoria? Algo como: #include <iostream> #include <vector> #include <deque> #include <array> int main() { std::cout << std::boolalpha; std::cout ...

1 la respuesta

T declval () en lugar de T && declval () para common_type

¿No es mejor usarstd::declval declarado en forma: template< class T > T declval(); // (1)entonces el actual: template< class T > T && declval(); // (2)parastd::common_type (posiblemente con un nombre diferente solo para este propósito ...

0 la respuesta

Descubra si un objeto C ++ es invocable

¿Es posible escribir un rasgo de tipo, digamosis_callable<T> que indica si un objeto tiene unaoperator() definido? Es fácil si los argumentos para el operador de llamada se conocen de antemano, pero no en el caso general. Quiero que el rasgo ...

2 la respuesta

Existe un rasgo de tipo para eliminar el cv y la referencia de nivel superior a la vez?

Solo quiero saber si ya hay uno provisto por el estándar. Sé que es fácil hacer uno tú mismo // for C++03, use <tr1/type_traits> and std::tr1 #include <type_traits> template<class T> struct remove_toplevel{ typedef ...

1 la respuesta

Plantillas C ++: cómo determinar si un tipo es adecuado para subclasificar

Digamos que tengo alguna clase de plantilla según el tipoT. T podría ser casi cualquier cosa:int, int*, pair <int, int> ostruct lol; no puede servoid, una referencia o cualquier cosa calificada por cv. Para alguna optimización, necesito saber si ...