Tag: ANGULARJS-TEMPLATES
Quiero usar un puntero a función como parámetro de plantilla sin tipo. Puedo hacerlo usando un alias predefinido para el tipo de puntero a función con typedef o using. ¿Hay alguna sintaxis para la definición de la plantilla sin un alias de tipo predefinido? bool func(int a, int b) { . . . Read more
Estoy tratando de crear una plantilla de función que me permita procesar los bytes crudos de un tipo de dato POD y de strings. Se me ocurrió este enfoque un poco ingenuo (no uso plantillas mucho, y solo puedo escribirlas y usarlas en casos muy simples): #include <cstdio> template<typename T> . . . Read more
El siguiente programa: #include <type_traits> template<typename t,=”” bool=”” b=””> struct S{ S() = default; template<bool sfinae=”true,” typename=””></bool><sfinae &&=””></sfinae><t>::value>> operator S<t const,=”” b=””>() { return S<t const,=”” b=””>{}; } }; template<typename t,=”” bool=”” b1,=”” bool=”” b2=””> void f(S<const></const><t>, b1>, S<t, b2=””>) {} int main() { S<int, true=””> s1{}; S<int, false=””> s2{}; . . . Read more
Sé que es posible determinar si una clase tiene cierto miembro con SFINAE. Pero ¿hay alguna manera de determinar si una clase tiene cierto método de plantilla? Por ejemplo: class Foo { public: template int method(std::vector vec); }; También sé que puedes detectar instancias particulares de una plantilla de miembro . . . Read more
Tengo un código algo así: template<typename …=”” args=””> constexpr sizet getinit_size(Args … args) { return sizeof…(Args); } template<typename …=”” args=””> constexpr auto makegenericheader(Args … args) { constexpr sizet headerlenght = getinitsize(args…); return header_lenght; } constexpr auto createipv4header() { constexpr auto x = makegenericheader(0b01, 0b10, 0b01); return x; } Sé que . . . Read more