{logo}

November 2000
Volume 18 Number 11

SCIENTIFIC NUMERICAL

Extracting Data from X-Y Plots

Rainer Thierauf
Scanners now input text with reasonable accuracy — why not graphical data as well?

FEATURES

Creating Truly Maintainable Class Factories

Early Ehlinger
It is usually best to recycle code already written, particularly if it's easy to get wrong.

A Portable "typeof" Operator

Bill Gibbons
Here's a not-so-stupid template trick that mostly meets the need for a typeof operator.

Secure Web-Based Licensing

Mike Scanlon
If you want to protect your software from misuse, you have to outsmart potential thieves and still not annoy your legitimate customers. This is not as easy as you might at first think.

C/C++ TIPS

Tip #3: Creating an Index Table in STL, Take 2

Sol Foster
Pointers seldom sort the way you intend, but STL offers a handy way to say what you really mean.

BOOK REVIEW

Standard C++ IOStreams and Locales

reviewed by Brian Button

C/C++ CONTRIBUTING EDITORS

The Standard Librarian: IOStreams and Stdio

Matt Austern
You can mix C and C++ I/O operations, but you have to be careful if you don't want garbled streams.

import java.*: Basic Stream I/O

Chuck Allison
Java supports input/output of streams with a gazillion combinations of options.

Sutter's Mill: Constructor Failures (or, The Objects That Never Were)

Herb Sutter
Exceptions thrown during object construction must be handled with extreme care.

The New C: It All Began with FORTRAN

Randy Meyers
Sometimes the best way to improve a language is to make it look more like the one it set out to obsolete 30 years earlier.

DEPARTMENTS

Editor's Forum

New Products

We Have Mail

C++ EXPERTS FORUM — WEB-EXCLUSIVE

In this new, web-only component of CUJ, we continue publication of the columns that were popular in the former C++ Report magazine. The following articles are featured on the CUJ website this month:

From Mechanism to Method: Function Follows Form

Kevlin Henney
Of all the features of C++ that can affect source code readability, operator overloading is one of the most powerful. Operator overloading can render otherwise well-written code obscure; on the other hand, it makes possible many important idioms — smart pointers, function objects, and iterators, to name a few. Kevlin Henney shows us another good application of operator overloading: a remember_function that bundles a target object together with a member function pointer for later callback.

Obfuscated C++: the Final Column

Robert Murray
Rob delivers the final answer to his final puzzler.

Conversations: By Any Other Name

Jim Hyslop and Herb Sutter
Don't reject a pattern because of its name it might be just the solution you need.

Object Interconnections: The History of the OMG C++ Mapping

Douglas Schmidt and Steve Vinoski
An insiders' view of the technical and political issues behind standardization.

Book Review of Herb Sutter's Exceptional C++

reviewed by Stanley Lippman
We reviewed Exceptional C++ in the February 2000 issue of CUJ; Stan gives us a fresh look at this important book.