{logo}

March 2004
Volume 22 Number 3

FEATURES

The SQLite Database Engine

Michael Owens
SQLite, an open-source embedded relational database system packed into a small C library, is ideal for managing and processing data.

Database Portable Software

Michael H. Lutz, Colin J. Neill, and Phillip A. LaPlante
Software is "database portable" when it can optimally run against different database management systems.

RTL: The Relational Template Library

Arkadiy Vertleyb and Dmitriy Arapov
The RTL library implements relational algebra while retaining the spirit of C++'s type safety and compile-time checks.

Strict Ownership in STL Containers

Oliver Schoenborn
There are lots of situations in C++ where dynamically allocated objects are hard to avoid.

Exception Safety & Containers

Laurence Marrie
Laurence examines how to provide more balance between exception safety and efficiency than the commonly recommended "copy, modify, and swap" idiom.

A C++ Template Wrapper for the XML SAX API

Yingjun Zhang
Hiding the details of the Simple API for XML (SAX) lets you decouple processing, eliminate duplication, and simplify development.

Interoperability & C++ Compilers

Joe Goodman
Interoperability among C++ compilers is a good thing. All it takes is a common Application Binary Interface.

COLUMNS

Positive Integration

Matthew Wilson
This month, Matthew focuses on mapping recls, his platform-independent library that provides recursive filesystem searching, to D and Java.

Conversations

Herb Sutter and Jim Hyslop
std::pair can make your life easier. But as with many things, moderation is the key: Excessive use can lead to unmanageable code.

Programmer's Book Reviews

Jack J. Woehr and Gregory V. Wilson
Jack examines C++ GUI Programming with Qt 3, OpenGL Programming Guide, Fourth Edition, Parallel and Distributed Programming Using C++, and the J2EE Open Source Toolkit.

DEPARTMENTS

Editor's Forum

New Products