Logo Universitaet BremenTZI-Logo
 

libextcpp

libextcpp is a collection of C++ header files that provide extensions to the Standard Template Library of C++. All components are designed for ease of use and small overhead, with no object code generated for things you do not want to use. The functionality provided by libextcpp is split into three groups:

Generic automata

The distribution's directory cb contains several modules to be used to create finite state automata. The main component is a generic automaton interface together with a callback mechanism and a generic event dispatcher class. Additional components include an implementation of the Singleton design pattern and other utility functions.

Event handler interface

event provides a template-based event-server interface that can be used in distributed single-threaded applications.

Other utilities

libextcpp contains lots of useful helper functions operating on STL containers, e.g. foldl for list aggregation, getElementsOf for a special type of string split etc.

Projects using libextcpp

Several software projects already use libextcpp, most notably:

License

libextcpp was put under GPL to facilitate software development based on this code. The copyright statement reads as follows:

libextcpp is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

libextcpp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with libextcpp; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Download

The latest stable version is 0.2.1. For other versions, you may check out the release directory at libextcpp.

Building

libextcpp is known to work on GNU Linux, SPARC Solaris and Intel 86 Solaris with gcc 2.95.3 and gcc 3.3.2. The source distribution uses automake/autoconf together with libtool. Hence, if in the distribution's root directory, you can build the software by typing:

./configure
make
make install

If you obtained libextcpp as part of another distribution (e.g. those mentioned above), you can skip the installation step. Moreover, the invocation of make just creates a couple of test programs. As libextcpp comes without any object code, you can skip it as well (however, this is not recommended as it checks some of the configuration options).