es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: VARIADIC-TEMPLATES

¿Qué significa / cuál es la semántica de la plantilla ?

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

Expansión variádica para acceder a std::array multidimensional.

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

Especialización de una función de plantilla variádica para std::tuple como tipo de retorno.

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