Re: Bug#249201: ITP: libfactory++ -- C++ template factory framework
martin f krafft wrote:
* Package name : libfactory++
Version : 0.1.0
Upstream Author : Martin F. Krafft <email@example.com>
* URL : http://cvs.ailab.ch/cgi-bin/viewcvs.cgi/libfactory%2B%2B
* License : Artistic
Description : C++ template factory framework
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
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
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
How much work has been done on this library? Any examples in use yet?
-- Dan Weber