Resultados de la búsqueda a petición "crtp"
C ++: con CRTP, la clase definida en la clase derivada no es accesible en la clase base
Aquí está la clase base (simplificada): template <class T> class SharedObject { protected: QExplicitlySharedDataPointer <typename T::Data> d; };Y aquí está el derivado: class ThisWontCompile : public SharedObject <ThisWontCompile> { private: ...
Utilice un patrón de plantilla curiosamente recurrente (CRTP) con parámetros de tipo adicionales
Intento utilizar el patrón de plantilla curiosamente recurrente (CRTP) y proporcionar parámetros de tipo adicionales: template <typename Subclass, typename Int, typename Float> class Base { Int *i; Float *f; }; ... class A : public Base<A, ...
Cómo implementar una verificación en tiempo de compilación de que un downcast es válido en un CRTP?
Tengo un CRPT viejo y simple (no se distraiga con las restricciones de acceso; la pregunta no es sobre ellos): template<class Derived> class Base { void MethodToOverride() { // generic stuff here } void ProblematicMethod() ...
C ++ polimorfismo estático (CRTP) y usando typedefs de clases derivadas
Yo leo elWikipedia article [http://en.wikipedia.org/wiki/Curiously_Recurring_Template_Pattern] sobre el patrón de plantilla curiosamente recurrente en C ++ para hacer un polimorfismo estático (léase: tiempo de compilación). Quería generalizarlo ...
uso inválido de tipo incompleto
Estoy tratando de usar un typedef de una subclase en mi proyecto, he aislado mi problema en el siguiente ejemplo. ¿Alguien sabe dónde me estoy equivocando? template<typename Subclass> class A { public: //Why doesn't it like this? ...
CRTP para evitar la sobrecarga de la función de miembro virtual
InCRTP para evitar el polimorfismo dinámico [https://stackoverflow.com/questions/262254/c-crtp-to-avoid-dynamic-polymorphism] , se propone la siguiente solución para evitar la sobrecarga de las funciones de miembros virtuales e imponer una ...
C ++ CRTP y acceder a los typedefs anidados derivados de base
editar Pondré un enlace github aquí cuando termine de alterar mi diseño para cualquier persona interesada. Antecedente Estoy reemplazando unaboost::intrusive, intrusive_set, con mi propia implementación como conjunto intrusivo compilado de 64 ...
Restricciones de parámetros de tipo reflexivo: X <T> donde T: X <T> - ¿alguna alternativa más simple?
Cada cierto tiempo hago que una interfaz simple sea más complicada al agregarle una restricción de parámetro de tipo autorreferenciada ("reflexiva"). Por ejemplo, podría convertir esto: interface ICloneable { ICloneable Clone(); } class Sheep : ...
CRTP: Problema dependiente del compilador con Expression Template
Incurrí en un problema dependiente del compilador con el siguiente código (almacenado en crtp.cc): #include <vector> #include <cassert> #include <iostream> template < class Derived > class AlgebraicVectorExpression { public: ...