Tag: VARIADIC-TEMPLATES
Acabo de encontrarme con el misterioso typename…. ¿Cuál es su semántica? Obviamente es demasiado general para significar algo muy específico pero aún así “`cpp namespace detail { template <typename…> using Void = void; } template <typename, typename="void"> struct EqualityComparableToNullptr : std::false_type {}; template <typename t=""> struct EqualityComparableToNullptr<t,></t,><decltype></decltype><t>() != nullptr)>> : . . . Read more
Mi problema principal es que estoy intentando crear una función que inicialice un std::vector de una clase que puede ser inicializada de diferentes maneras, así que decidí usar plantillas variádicas, pero, como en este ejemplo, eso no se compila: #include <iostream> #include <string> #include <vector> using namespace std; struct MyClass . . . Read more
Supongamos la siguiente estructura de matriz multidimensional: template <typename type,=”” std::size_t…=”” sizes=””> struct multi_array { using storage_type = typename storage_type<type, sizes…=””>::type; using value_type = type; using size_type = std::array<std::size_t ,=”” sizeof…(sizes)=””>; using difference_type = std::array<std::ptrdiff_t, sizeof…(sizes)=””>; using reference = value_type&; using const_reference = const value_type&; // … storage_type data {}; . . . Read more
Estoy tratando de entender el plegado y las plantillas variádicas. He diseñado una clase Tuple muy ingenua. Puedo crear un objeto tuple, pero me gustaría imprimir el objeto. Parece extraño que este problema no se haya abordado casi en ningún lugar (al menos no he encontrado ningún recurso hasta ahora. . . . Read more
Estoy implementando una función de plantilla que analiza una cadena y devuelve una tupla de objetos, como: template <typename… objects=””> std::tuple<objects…> convert2data(const std::string_view& input) { return std::tuple<objects…>{ internal::popNext<objects>(input)… } ; } Uso: auto data = convert2data<int, double=””>(“1, 0.01”) ; Especifico los tipos esperados como argumentos de la plantilla. Ahora me . . . Read more