Tag: SFINAE
Tengo una clase que envuelve algún tipo y le adjunta una Dimension. Debe ser convertible al tipo subyacente, pero solo si Dim=0. El operador de conversión no debe ser llamable en otros casos (por lo que un static_assert en la función no funcionaría para mí). El siguiente código funciona si . . . Read more
Estoy trabajando en un programa en el que algunos datos se asignan estáticamente y otros de forma dinámica. Ahora quiero tener otro tipo que pueda ser llamado con cualquier plantilla del tipo como su argumento. <h1>include <array></h1> <h1>include <vector></h1> <p>template <int size> class Foo { std::array<int, size> data; public: int& . . . Read more
Considerando la siguiente plantilla básica de clase: #include <type_traits> template <typename t=””> class A { public: A() = default; T obj; template <typename u=”T,” typename=”typename”></typename><!std::is_void<U>::value>::type> T& get(); }; Estoy usando <type_traits> para obtener una implementación simple de SFINAE que oculta get() si el argumento de la plantilla es void. Sin . . . Read more