First let me express my congratulations: I think that you really fill
an important gap with your project in C++.
On the other side I found some issues to critizise:
1) I one strongly appreciate, if Autumn would heed the usual rules
about namespace qualifications in public headers.
Currently all public Autumn headers do have using directives of
namespace std into the global namespace thereby polluting the user
namespace with unwanted names from namespace std.
A related issue is that I propose to wrap the complete library into
it's own namespace, e.g. namespace Autumn
to prevent unwanted name clashes with other libraries. One example:
The typedef "TPointer" in the header Basic.h can be found in a bunch
of other libraries found by google code search.
A similar candidate for clashes is the name "TypeManager".
2) There are also several const-"incorrectnesses" in the code, e.g.
all IBeanWrapper::get* functions or the query
functions from IBeanFactory::containsBean, IBeanFactory::isSingleton,
IAutumnType::isThisType.
3) Functions do take std::string parameters by values instead of by
const references.
I really hope that these issues will be fixed to increase the
acceptance of this library!
Greetings from Bremen,
Daniel Krügler