Actualmente voy a escribir un gran proyecto en C++ 11.C++ 11 biblioteca de reflexión
Estoy buscando algo de tiempo buena biblioteca de reflexión C++ 11/C++ y he encontrado varias bibliotecas diferentes, pero la mayoría de ellas simplemente no se actualizan en los últimos años o su funcionalidad es muy limitada.
¿Me podría decir si hay una muy buena biblioteca de C++ 1/C++ para la reflexión? (Quiero tener una reflexión estática y dinámica, conozco toda la información posible sobre métodos, clases, etc., puedo agregar y acceder de forma dinámica a métodos, etc.)
O tal vez C++ 11 ha proporcionado alguna funcionalidad adicional que ayudará para diseñar mejor las bibliotecas de reflexión y ¿debería escribirlo solo? (No he encontrado información sobre él sin embargo.)
Parece que su diseño no coincide con su elección de un idioma. – ybungalobill
Esta es [una pregunta similar] (http://stackoverflow.com/questions/41453/how-can-i-add-reflection-to-a-c-application). También estaba buscando y encontré [CAMP] (https://github.com/tegesoft/camp). Tengo un [fork] (https://github.com/billyquith/camp) yendo que elimina la dependencia de Boost y usa C++ 11 en su lugar. – Nick
No estoy seguro de cuánto ha cambiado esto a lo largo de los años, pero es posible que pueda lograr algunas de las características de la reflexión mediante un diseño cuidadoso. Por ejemplo: el patrón de decorador para agregar/modificar el comportamiento en CT o RT (https://en.wikipedia.org/wiki/Decorator_pattern); SFINAE para detectar una función en CT https://stackoverflow.com/a/29319078/1043529; dep. inversión (https: //en.wikipedia.org/wiki/Dependency_inversion_principle) para buscar métodos específicos (CRTP y static_cast para CT, dynamic_cast para RT) y más. Reflexión completa para tipos verdaderamente arbitrarios? Elige tus batallas, esta es cuesta arriba. –