-
Although most of the code I write in C++ are templates, this
reflection library currently does not support reflecting member variables of
template classes (it is the mapping from a reflected class to it's mutextype
that causes the trouble here -this can be fixed of course in a number of
different ways). However, the fact that template members are optional
(instantiated only when used) cannot be modelled by this library correctly. In
particular each traversion over members of reflected templates will visit (and
thus instantiate) each reflected member, independent of the number of other
referrers to that member in the sources.
-
Hefty usage of templates may cause hefty compiletimes.
-
Not every debugger can handle stepping through template code
equally gracefully. One very popular open source debugger tends to crash when
stepping into nested template functions while one other (aged but even
more popular) not so open source debugger on a family of not so open source
operating systems tends to freeze the whole system when stepping out of nested
template functions.
-
Deep traversions do not iterate into reflected members of
elements of an std::map or an std::multimap.
-
user defined access specifiers for the member variables
(currently reflected members are always private and the get and set functions
are always public)