{logo}

January 2003
Volume 21 Number 1

Mixed Language Programming

Combining STL with SAX and XPath for Effective XML Parsing

David Nash
A simple template and a dash of STL make parsing XML a straightforward proposition.

Automated Wrapping of Complex C++ Code

Brad King and William J. Schroeder
We're confident you'll be as tickled as we are with this tool for generating extra-lingual wrappers for C++ code.

FEATURES

Thinking in STL: You Know It Don't Come Easy

Leor Zolman
Leor graciously shares his incremental journey toward a very elegant and useful initialization utility for STL containers.

A Different Interpretation of the Interpreter Design Pattern

Eric Niebler
A refreshing perspective on implementing an allegedly less-than-efficient design pattern.

Contract Programming and RTTI

Timothy M. Shead
RTTI is not just for implementers of software tools. It's also handy for validating interface compliance.

Summations for Fast Counting

Efraim Berkovich
How do I sum thee? This author counts and illustrates the many, useful ways.

CONTRIBUTING EDITORS

Conversations — Value Lessons

Jim Hyslop and Herb Sutter
When will you learn to value the counsel of the prophets? Decide what type of object you're defining and stay the course.

The New C — Statements and Loops

Randy Meyers
Our C specialist helps you become a loop specialist.

Uncaught Exceptions — Hell Freezes Over

Bobby Schmidt
Your mutual dependency and memory puzzles resolved.

DEPARTMENTS

Editor’s Forum

New Products

We Have Mail

C++ EXPERTS ON THE WEB

Sutter's Mill — Befriending Templates

by Herb Sutter
If you want to declare a function template specialization as a friend, how do you do it? According to the C++ Standard, there are two legal syntaxes you can choose from. According to real-world compilers, however, one of the syntaxes is widely unsupported; the other works on all current versions of popular compilers ... except one.

Object Interconnections — Dynamic CORBA, Part 4: The Interface Repository

by Douglas C. Schmidt and Steve Vinoski
The Dynamic CORBA Interface Repository provides type information about CORBA interfaces and other entities defined in IDL. It helps ensure the type-safety and correctness of the DII and DSI mechanisms that defer an application's binding onto specific interface types until run time.

The (B)Leading Edge — Well Principled (and Practiced) Software Development

by Jack W. Reeves
This month Jack discusses the importance of Robert Martin's new book Agile Software Development: Principles, Patterns, and Practices to individual programmers, software development organizations, and the industry as a whole.