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


 

_______________________________________