A few questions and answers on Stackoverflow are insightful about this reflection and introspection topic:
In “Attribute & Reflection libraries for C++” it states: Most mature C++ projects seem to have an own reflection and attribute system, i.e for defining attributes which can be accessed by string and are automatically serializable. At least many C++ projects I participated in seemed to reinvent the wheel.
And in “Reflection in C++“, many answers generally explained various ways of doing reflection in C++ for various purpose. Reading the solutions is no more inspiring than reading the purposes of these solutions to try to solve.
It looks, after downloading and trying various tools, the Xrtti is the promising open source solution. I meant, that is the easiest to implement: With your favourite Linux distribution, you just install gccxml package, then download Xrtti and compile. That’s all you’ll need to do to make it work! I will write another post to cover the details of that.
And I deduce, to test if your C++ project is mature enough, one rule is to see if you have some kind of reflection in it. Not limited to C++, this rule might also be true for your C projects. Isn’t it?