libgraph is a library for general purpose data structures for graphs and hypergraphs as well as simple graph algorithms. It has been designed to be easily usable by people already familiar with the concepts and data structures of the STL. Its intensive error checking with assertions helps to quickly find errors during developement.


libgraph is released under the GNU Library General Public Licence v2.1. See COPYING for details.


libgraph may be obtained using mercurial with

    $ hg clone static-


See the file INSTALL for installation instructions.


Help on using libgraph can be found in the tutorial and API documentation. (For this link to work, make html must have been issued.)

Bugs and Improvement

Please send bug reports to the maintainer of libgraph (see AUTHORS). If you find time to spend on improving libgraph please check the coding styles.


It is recommented that you use the pkg-config utility to obtain compile and link flags. The appropriate options can be retrieved automatically by

    $ pkg-config --cxxflags libgraph
    $ pkg-config --libs libgraph
If you do not use pkg-config you may still use libgraph and give the options manually. If have installed the library in standard search directories, the only additional option you have to specify at link time is -lgraph to use the library, followed by -lexpat if you have configured libgraph to use expat.