SPTK (Simply Powerful Toolkit) is a cross-platform toolkit that provides a set of C++ classes for fast and easy application development. It provides GUI components that use FLTK, and features database support with seamless connection to GUI components. There are drivers for use of SQLite and PostgreSQL directly, as well as support for other database engines through UnixODBC. SPTK includes many classes for working with strings, dynamic arrays, and maps, and is faster and has a smaller footprint than STL. It also supports reading, writing, and creating Excel 7 files, high-level GUI components with dataset support, support for automatic layouts, and support for Aspell.
libpropc++ is a template library for properties in C++ which can be used like 'widget.color = "red";' to change widget color. Values of several properties can be "bound together" so that when one property changes, others automatically change accordingly. Binding can be unidirectional or mutual, with a transforming functor, etc. A part of the functionality of libsigc++ (a C++ "signal programming", i.e. Observer Pattern, library) is reimplemented.
pgstream is a C++ library that is built on top of libpq for PostgreSQL v7.4 or higher. It aims at providing programmers an easier interface than the libpq C API when using C++. It provides classes that support parameterized queries, exceptions for catching database errors, transactions and subtransactions, reading and writing bytea columns, using prepared statements, SQL cursors, and more.
C++ ResourcePool is a library which can be used to pool resources of every kind. It can also be used as an abstraction layer by providing a unique API for different resources of similar resource types; the most prominent examples are SQL databases. It includes a convenient way to access MySQL and Oracle databases in the same way, so that changing from MySQL to Oracle or vice-versa does not need big code changes.
LiteSQL is a C++ library that integrates C++ objects tightly to a relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL, and MySQL as backends. LiteSQL creates tables, indexes, and sequences to database and upgrades schema when needed. In addition to object persistence, LiteSQL provides object relations which can be used to model any kind of C++ data structures. Objects can be selected, filtered, and ordered using a template- and class-based API with type checking at compile time.