{logo}

August 2002
Volume 20 Number 8

GRAPHICS

Applying BGL to Computational Geometry

Vitaly Ablavsky
Graphs, graphics, and generic programming combine in this novel use of the Boost Graph Library.

Adaptable Dialog Boxes for Cross-Platform Programming

Christopher Kempke
Finally, key technologies converge to make for more portable user interfaces.

FEATURES

C and C++: A Case for Compatibility

Bjarne Stroustrup
Bjarne identifies some non-issues as he continues his case for compatibility between C and C++.

Using Constructed Types in C++ Unions

Kevin T. Manley
Toward a more perfect union.

CONTRIBUTING EDITORS

C++ Made Easier: Handles and Exception Safety, Part 1: A Simple Handle Class

Andrew Koenig & Barbara E. Moo
Understanding exception safety made easier. Really.

STL & Generic Programming: C++ Template Metaprogramming

Thomas Becker
The C++ template metaprogramming primer you've been waiting for.

Common Knowledge: A Bitwise typeof Operator, Part 1

Steve Dewhurst
It'll be a long time before we see a portable typeof operator in Standard C++. In the meantime, here's one based on a brilliant, portable design.

DEPARTMENTS

Editor’s Forum

New Products

We Have Mail

C++ EXPERTS ON THE WEB

The New C++: Smart(er) Pointers”

by Herb Sutter
Herb takes a closer look at one of the proposed new Standard C++ library features being considered in the C++ standards meetings: smart pointers, particularly those in Boost and Loki.

Generic<Programming>: Discriminated Unions (III)”

by Andrei Alexandrescu
This installment wraps up the Variant implementation, emphasizing visitation as a useful tool for accessing and manipulating the value cloaked by the Variant object.

Conversations: A Midsummer Night’s Madness”

by Jim Hyslop and Herb Sutter
What’s the point of adding a pointer to a typedef? The Guru puts in her thoughts on the matter.

The (B)Leading Edge: Building an IndexedFile Using XDRStream, Part 4”

by Jack W. Reeves
Jack continues his detailed examination of the BtreeIndex design. This month, he looks at the code for the page cache and at the BtreeIndex iterator class.