[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#249201: ITP: libfactory++ -- C++ template factory framework



martin f krafft wrote:
Package: wnpp
Severity: wishlist

* Package name    : libfactory++
  Version         : 0.1.0
  Upstream Author : Martin F. Krafft <krafft@ailab.ch>
* 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
 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.



How much work has been done on this library?  Any examples in use yet?

-- Dan Weber



Reply to: