sarge  ] [  etch  ] [  etch-m68k  ] [  lenny  ] [  sid  ]
[ Source: libfactory++  ]

Package: libfactory++-dev (0.1.4-1)

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.

Tags: Software Development: C++ Development, Libraries, Implemented in: C++, Role: Development Library

Download libfactory++-dev

Download for all available architectures
Architecture Package Size Installed Size Files
all 16.1 kB96 kB [list of files]