Ausführliche Beschreibung | libfactory++ is a C++ template framework for run-time dynamic type
instantiation. You can register single classes or whole hierarchies, and then
tell libfactory++ to instantiate objects using the registration key. For
instance, if you register class A with key 1 and a child class A::B with key
2, then you could say create(1) to obtain a pointer to a newly allocated and
constructed A object, or create(2) to return an A* containing a new instance
of A::B.
.
libfactory++ differs from other factory approaches mainly in its flexibility.
For one, libfactory++ can use any constructor a type supports, and allows you
to choose (and configure) the constructor to use for each call to create().
Second, it supports custom allocators, allowing you to use e.g. a memory pool
rather than continuous invocations of 'new'.
.
Note that the library is not (yet) complete and it's not thoroughly tested.
However, given the effort and grief I went through in writing it, I would
like to make it available to folks, get people to test it, and hopefully have
some peeps submit improvements.
.
It's not yet documented, although the usage should be fairly straight
forward. I am hoping to find someone else to document it as I suck at
documentation and as the author, it's exceptionally difficult to stay
didactically correct.
.
libfactory++ only exists as a -dev package as it's only a bunch of C++ header
files. Therefore, no static or shared library is necessary, allowing for
ultimate flexibility.
|