C/C + + USERS JOURNAL
VOL. 17, NO. 1, JANUARY 1999
21 A Java Object List Dialog
Steve Wdstead
Java keeps getting better at handling those
bread-and-butter windowing tasks that
once required C or C++ under Windows.
35 Comparing C++ and Java: A Java SwitchBoard
Implementation
William L Crowe
enlightening and useful. Comparing it to a
FEATURES
47 Automatic Code Instrumentation
John Panzer
You can profile function execution times easily with
just a little help from a VC++ hook and anyweb
browser,
57 Using C++ with Word97 COM
Interfaces
Jim Langseth
imagine packing all of MS Word 97 into a C++
class. You can do it with a little knowledge of COM,
61 Persistent Vector Iterators
Radoslav Getov
Template class vector has some annoying proper-
ties. But you can hide them, and still make use of
the good stuff, by deriving another template class
from vector.
67 AY2K Patch for Legacy Data
Tanton Gibbs
Y2K problems abound, ifyou believe the consul-
tants, at least. But sometimes a simple trick or two
can mitigate a localized Y2K problem.
C/C++ Contributing
Editors
P.J. Plauger 10
Standard C/C++:
Revising Standard C
Chuck Allison 69
import java.*
jumping into java
Pete Becker 75
the journeyman's
shop:
more on error
Handling
Bobby Schmidt 83
Exceptions:
party like it's 1999
____________________________________
C/C + + USERS JOURNAL
VOL. 17, NO. 6, JUNE 1999
TESTING AND DEBUGGING_____________
24 Debugging Embedded Systems
Daniel}. Wisehart
36 Better Assertions for MFC
Giovanni Bavestrelli
FEATURES
42 Calculating CRC Checksums in C++
Colin Mahoney
49 Implementing a Request Distribution
Server with DCOM and ATL
James J. Fan
You can do the darndest things with DCOM, including
load balancing with a relatively simple daemon.
55 C/C++ Users Group (CUG) CD-ROM,
April 1999 Edition
Victor Volkman
Bigger than ever, better than ever. The 1999 edition
of the CUC code disk is now available.
61 Optimizations That Aren't
(In a Multithreaded World)
Herb Sutter
An "obvious" optimization can really lose ground
when thread safety has to be ensured as well.
71 Default Initialization of Built-in Types
Robert Allan Schwartz
Java supplies wrappers for all the built-in types. As
it turns out, C++ can profit from similar wrappers.
75 A Container for a Set of Ranges
Andrew Phillips
if you need to represent an ordered list of ranges,
the best data structure is probably somewhere
between a list and a set.
____________________________________
C/C + + USERS JOURNAL
Vol. 17, No. 02, FEBRUARY 1999
REAL-TIME/EMBEDDED SYSTEMS______________
17 A Lightweight C++ Library for Embedded LCDs
Edward J. Lansincer
FEATURES
30 Date Compression Formats forY2K Remediation
Leon lofin
61 Adding Level-2 Thread Safety to
Existing Objects
Etienne Richards
73 LUP Matrix Decomposition Using
Templates
Mike Rumore
DEPARTMENTS
Editor's Forum 6
Call for Papers 80
Advertiser Index 93
New Products 95
We Have Mail 99
Programmer's Market 100
____________________________________
C/C + + USERS JOURNAL
Vol. 17, No. 05, MAY 1999
THEME___________________________________________
16 Portable Control of Multiple Daemon Processes
Joseph Kathan
27 A Wrapper Class for Dynamically Linked Plug-Ins
Eric Roe
FEATURES
43 Learning Standard C++ as a New
Language
Bjarne Stroustrup
BOOK REVIEW
57 Review of Scott Meyers^ Effective
C++ Compact Disk
reviewed by Chuck Allison
DEPARTMENTS
Editor's Forum 6
Call for Papers 70
Advertiser Index 73
New Products 88
We Have Mail 92
Programmer's Market 93
___________________________________
C/C + + USERS JOURNAL
Vol. 17, No. 07, JULY 1999
SOFTWARE TOOLS__________
22 A Simple XML Parser
Sebastien Andrivet
34 A Java Skeleton Code Generator
Pat Patemostro
FEATURES_________________________
39 Wrapping the Windows ODBC API
Giovanni Bavestrelli
55 Restricted Pointers are Coming
Arch D. Robison
65 A Logging Routine for Windows NT
Events
David Hooker
DEPARTMENTS
Editors Forum 6
Advertiser Index 81
Call for Papers 94
New Products 95
We Have Mail 99
Programmer's Market 100
C/C++ Contributing
Editors
P.J. Plauger 10
standard c/c + +
A Better Red - Black tree
Dan saks 69
C + + theory and practice:
thinking even deeper
Chuck Allison 79
import java.*:
thinking in objects
Bobby schmidt 89
Uncaught Exceptions:
Building sand castles
___________________________________
C / C + + USER JOURNAL
VOL. 17, NO. 3 , 1999
UNIX
21 A Signal Command and Control Class for Unix
Patrick Bailey
FEATURES
37 Better Template Error Messages
Andrei Alexandrescu
49 Portable Run-Time Multilanguage
Support with Lingua
Anneke Sicherer-Roetman
Message text is the bane of any multilanguage pro-
gram, but you can get a lot of help with them from
this remarkably simple package,
77 enum++ —An enum Class Code
Generator
Arthur P. Walker
Neither C nor C++ have truly first-class enumera-
tions. But you can add them to C++ with this handy
generator,
79 Comparing Fortran 90 and C++
Valarrays
Shyam Bhat and B. Arun
Template class valarray was added to the Standard
C++ Library to attract numerical programmers. It
appears to be working.
DEPARTMENTS
Editor's Forum - 6
Call for Papers - 76
Advertiser Index - 85
New Products - 95
We Have Mail - 99
Programmer's Market -100
10 Standard C/C++:
Simple lostreams
59 import java.
Using Primitive Types and
67 The Journeyman's Shop:
Initialization and Cleanup
Part 1
82 C++ Theory and Practice:
Trimming Excess Fat
89 uncaught Exceptions:
Singletons, Five-Liners, and
Multiple Inclusion
__________________________________
C / C + + USERS JOURNAL
Vol. 17 , No. 4 , April 1999
COM & CORBA
19 Adapting Automation Arrays to the Standard
vector Interface
Andrei Alexandrescu
31 Report Generation Using an Integrated web
Browser
Mark Nadelson and Colleen Woodward
47 Using Asynchronous Calls in COM
Greg Heidel
55 CORBA Load Balancing with
Visi Broker
Marc Anderson
FEATURES
65 A Generic Iterator for Strings
David Lorde
10 Standard C / C + + :
Unicode Files
71 The Journeyman' Shop:
Initialization and Cleanup in
C++
81 C++ Theory and Practice:
Thinkine Deeply
89 uncaught Exceptions:
Great Expectations
DEPARTMENTS
Editor's Forum 6
Showcase 40
Call for Papers 80
Advertiser Index 91
New Products 95
We Have Mail 99
Programmer's Market 100
__________________________________
C C + + USERS JOURNAL
Vol. 17, No. 8, August 1999
WINOWS
18 A Semaphore With Priorities For Win32
Thomas Becker
32 TrueType Font Secrets
Michael Bertrand and Dave Grundgeiger
48 Win32 Multithreading Made Easy
John Harrington
59 An Automated Process Shutdown DLL
Paul Carlson
FEATURES
62 A Vector Class for Geometric
Computations
BOOK REVIEW
69 The Practice of Programming
reviewed by Dwayne Phillips
DEPARTMENTS
Editor's Forum 6
Showcase 42
Call for Papers 68
Advertiser Index 75
New Products 94
We Have Mail 98
Programmer's Market 99
10 Standard C/C++:
A Better List
Uncaught Exceptions:
Just Say No
71 The Journeyman's Shop:
Memory and Object
Management, Part 2
81 C++ Theory and Practice:
Isolating Design Decisions,
Parti
104 Post-Mortem Debunker:
Streak On!
_______________________________________
C/C + + USEERS JOURNAL
VOL. 17, NO. 9, SEPTEMBER 1999
ALGORITHMS
18 Searching for Solutions With Al
Dwayne Phi Hips
30 STL-Style Iterators for MFC
Kevin Kostrzewa
STL prides itself on being extensible. You
can even extend it to subsume MFC with
all its varied containers.
FEATURES
50 Improving Performance with
Thread-Private Heaps
Kevin Manley
Threads interact in the darndest ways, but conflicts
with a common heap are particularly pernicious.
Luckily they can be avoided.
63 Easier Console Apps in Win32
Stan Mitchell
It's tiresome enough to parse a command line, but
harder still if you have to deal with the varying
character representations of Win32.
71 Queries, Defect Reports, and the
C++ Standard
Stephen D. damage
A programming language standard is a complex
creature that is bound to contain bugs and obscuri-
ties. Fortunately, ISO has a mechanism for dealing
with such problems.
DEPARTMENTS
Editor's Forum- 6
Java Showcase - 43
Call for Papers - 70
Advertiser Index - 85
New Products - 95
We Have Mail - 99
Programmer's Market - 100
C/C++ Contributing
Editors
P.J.Plauger 10
standard C/C + +:
WHY 2K?
CHUCK ALLison 42
import java.*:
Packaging Your Objects
Dan Saks 73
C+ + theory and Practice:
isolating Design Decision, Part 2
Peter Becket 83
the Jkourneryman's Shop:
software Testing 101
Bobby Schmidt 89
Uncaught Exceptions:
Eroica
_______________________________________
C/C ++ USERS JOURNAL
VOL. 17, NO. 10, OCTOBER 1999
OBIECTS AND COMPONENTS
22 An Interactive Drawing Surface Component for
C++ Builder
Anneke Sicherer-Roetman
C++ Builder lets you get a lot of windowing
43 Singleton Creation the Thread-safe Way
Jonathan Ringle
Singletons avoid problems with order of construction, at the cost of
more problems for multithreading.
50 Dynamic C++Classes
Robert S. Gray and Gisli Hjalmtysson
How do you upgrade parts of a running system without shutting it
down ? Very carefully.
57 Controlling the Destruction Order of Singleton
Objects
Evgeniy Gabrilovich
Singletons have to be destroyed, just like any other objects. When and
how that happens can be a tricky problem to solve.
FEATURES
63 Using auto-ptr Effectively
Herb Sutter
S0 you've heard about auto_ptr. Now what can you
do with it? And what should you not do with it?
Find out here,
69 A Recursive Visit Template
Marc Briand
Navigation is always a difficult art. Distilling out the
common operations in a reusable template can
help organize the job.
73 Safer Graphical Drawing with MFC
Ivan J. Johnson
Exceptions can really mess up the state of a graphic
display, unless you preserve it with a well placed
destructor.
DEPARTMENTS
Editor's Forum - 6
Windows Showcase - 38
Call for Papers- 74
Advertiser Index - 85
New Products - 87
We Have Mail - 91
Programmer's Market - 92
C/C++ Contributing
Editors
P.J.Plauger 10
Standard C/C ++:
A Better sort
Peter Becker 75
the journeyman's shop:
memory and object
management,part 3
Bobby schmidt 81
Uncaugth exceptions:
One Small Step
Some steps are smaller than others,
even if they look big to a compiler.
Stan Kelly-Bootle 96
Post-Mortem Debunker:
Ambiguity: Its Cause And Cure
_______________________________________