The Ionflux Tools Class Library is a lightweight multi-platform C++ framework designed for rapid development of applications in a client/server architecture. It features a set of useful classes and tools, such as a powerful template engine and a universal hierarchical type. The Ionflux Tools Class Library is released under the GNU General Public License, meaning it is free software!
Upon reading this, you may ask yourself: Why would the world need another framework?! Well, it seems any C or C++ developer starts out by reinventing the wheel and writing conveniece wrappers around very low-level APIs. This happens especially on *nix systems, because there is not as much conensus on the best toolkit as on other platforms. Indeed, the original reason for me starting to write yet another class library was that I wanted wrappers for basic functionality (such as sockets and databases) that fitted in well with my style of coding.
Having done some extensive coding in PHP before I returned to using C++ as my main programming language, I did value the power of higher level languages for rapid development of working prototypes. So I started out to implement a means to do this in C++. This is where the Node and Template classes and the iftools configuration file format enter the picture. The configuration file format provides a very simple and yet powerful backend to create structured data. The format is editable with any text editor and supports a very simple syntax resembling those of INI or standard *nix configuration files, as well as complex hierarchically structured objects. The objects thus created are represented internally by a universal tree type (the Node class). Thus, defining and testing new object structures and extening them later becomes very easy task.
On the side of output, it is possible to write data in nearly any format using iftools. A fully-featured template engine is provided for this purpose. I now use the system for nearly everything from tagging my music to generating websites (in fact, this website has been generated using ifdocgen, a program based on iftools) or even generating OpenDocument files. The value of a good template engine cannot be overestimated at all! I often find myself generating configuration files or even other templates using the iftools template engine. And what sets the iftools template engine apart is that it can be used as a fast standalone tool as well as linked into any application (provided the application is distributed under the GPL or a compatible license).
To learn more about iftools and how it works, I recommend you take a look at the Doxygen documentation. This is also the location of the iftools reference manual.
The Ionflux Tools Class Library is free software and can be downloaded from sourceforge.net [externer Link].