![]()
April 2005
Volume 23 Number 4FEATURES
A C++ Lightweight Wrapper for Databases
Kristian Lippert
The library presented here provides a straightforward interface to any SQL database, thereby decoupling you from tedious database structures.Server-Side Persistence & Embedded Database Engines
Chris Newcombe
Chris shares the lessons he learned when building the Steam software delivery and content management system that's built on top of the Berkeley DB database engine.Class Hierarchy Graphs, Function Devirtualization, & RTTI
Dibyendu Das
This approach of constructing a Class Hierarchy Graph uses information generated by the C++ compiler for RTTI.Method Call Interception
Gigi Sayfan
Method call interception means executing some code before and after the body of a function or a method is executed.Creating Dynamic Singletons & the Loki Library
Curtis Krauskopf
The Loki library is flexible enough to provide automatic deletion for most policies and provide automatic deletion for objects allocated with new that are not otherwise deleted by users.C++/CLI: Static Constructors, IO, and Event Handlers
Rex Jaeschke
For certain class types, it is convenient to have some initialization occur the first time that class is used by a program. It can also be useful to have some cleanup done when that class is no longer needed by that program.COLUMNS
C++ Made Easier
Andrew Koenig and Barbara E. Moo
Different toolsets lead to three different solutions, as Andrew and Barbara discover new solutions to an old problem.Generic <Programming>
Andrei Alexandrescu
Andrei examines some of the hidden challenges in defining good Observer designs.Conversations
Herb Sutter and Jim Hyslop
What do you do when you want to throw an exception, but all you have is a reference to the base class?Programmer's Book Review
Miles Thibault and Gregory V. Wilson
This month we look at Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps, by Mike Clark; and Java Cryptography Extensions: Practical Guide for Programmers, by Jason Weiss.DEPARTMENTS
Editor's Forum
New Products