sanyaade-g2g-repos / quimeraengine

Automatically exported from code.google.com/p/quimeraengine
0 stars 1 forks source link

Corregir rcast_q, ccast_q, scast_q y dcast_q para uso de parámetros de plantilla #227

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Actualmente no es posbile hacer algo como esto: 
rcast_q(QBaseRay<QVector3, QVector3>, obj);

Ya que la macro rcast_q considera parámetros separados a "QBaseRay<QVector3", 
a "QVector3>" y a "obj", contando cada coma como separador.
Hay que reemplazar la definición de rcast_q, poniendo el parámetro de la 
instancia en primer lugar y usando ... (elipsis) como segundo parámetro. En la 
sentencia de reemplazo (al usar reinterpret_cast, por ejemplo), __VA_ARGS__ 
ocupará el lugar del tipo y el primer parámetro de la macro ocupará el lugar 
de la instancia.

#define rcast_q(object, ...) reinterpret_cast<__VA_ARGS__>(object)
#define ccast_q(object, ...) const_cast<__VA_ARGS__>(object)
#define dcast_q(object, ...) dynamic_cast<__VA_ARGS__>(object)
#define scast_q(object, ...) static_cast<__VA_ARGS__>(object)

Original issue reported on code.google.com by Lince3D@gmail.com on 19 Dec 2011 at 9:01

GoogleCodeExporter commented 8 years ago

Original comment by jwl...@gmail.com on 28 Dec 2011 at 6:49

GoogleCodeExporter commented 8 years ago

Original comment by jwl...@gmail.com on 29 Dec 2011 at 7:55

GoogleCodeExporter commented 8 years ago

Original comment by Lince3D@gmail.com on 30 Dec 2011 at 7:51

GoogleCodeExporter commented 8 years ago
Resultado de la revisión: Correcta.

Original comment by Lince3D@gmail.com on 30 Dec 2011 at 7:51