Keywords: Apr2001, C, C++, conformance, tracing, debugging, testing, 
exception safety

The code listings for the April 2001 issue of C/C++ Users Journal
include source code for Maurice Fox's article, "A Handy Debugging
Class," and Ben Stanley's article, "Adding Exception Testing to Unit Tests."
Also included are listings from Bobby Schmidt's column, "Uncaught
Exceptions," Thomas Becker's column, "STL & Generic Programming," Andrei
Alexandrescu's web column, "Generic<Programming>," Matt Austern's web
column, "The Standard Librarian," and Herb Sutter & James Hyslop's web
column, "Conversations."

*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	    TITLE			       
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------
fox                     Maurice Fox         A Handy Debugging Class

    Debug                   Listing 1, Public interface to Debug class
    example.cpp             Listing 2, Controlling the Debug class
                                       from the command line, and
                                       setting default behavior
    Debug.cpp               not listed, Implementation of Debug class

stanley                 Ben Stanley         Adding Exception Testing
                                            to Unit Tests

    Under subdirectory Common:

    Counter.h               Listing 1, A class for counting tests
                                       passed, tests failed, number of
                                       exception points, and which
                                       exception point to fail on
    Counter.cpp             Listing 2, Implementation of Counter class
    TestClass.h             Listing 4, A class that can throw
                                       exceptions from any possible
                                       user-defined function

    Under subdirectory Function:

    Employee.h              not listed
    Function.cpp            not listed
    Function.h              not listed
    makefile                not listed
    String.h                not listed
    TestFunction.cpp        not listed
    TestSTring.cpp          not listed

    Under subdirectory StackClass:

    makefile
    Stack_Reed.h            Listing 3, David Reed's original stack
                                       class, modified to account for
                                       operator new throwing a bad_alloc
                                       exception instead of returning a
                                       zero
 
    Stack_Reed_Fixed.h      Listing 6, Fixed version of David Reed's
                                       stack class from Listing 3
    Stack_Sutter_1.h        Listing 7, Herb Sutter's stack class -- first
                                       of three presented in his book,
                                       Exceptional C++
    Stack_Sutter_3.h        not listed, Herb Sutter's stack class -- third
                                       of three presented in his book,
                                       Exceptional C++
    TestStack.cpp           Listing 5, Test harness for Stack.h
 
schmidt                 Bobby Schmidt       Uncaught Exceptions: eWriter

    vcpptest.cpp            Listing 1, Visual C++ test
    access.cpp              Listing 2, Access declaration

becker                  Thomas Becker       STL & Generic Programming

    wordcnt.cpp             Listing 1, Using std::map to count words
    break.cpp               Listing 2, Breaking a single line of
                                       code into many
    validity.cpp            Listing 3, Illustrates iterator validity

----------------------------------------------------------------------
C++ Experts Forum Articles (www.cuj.com/experts/)

alexandr                Andrei Alexandrescu Generic<Programming>:
                                            Min and Max Redivivus

    MinMax.h                not listed
    NullType.h              not listed
    Typelist.h              not listed
    TypeManip.h             not listed
    TypeTraits.h            not listed

austern                 Matt Austern        The Standard Librarian:
                                            Stringstreams and their
                                            Friends

    rangebuf.h              Listing 1, Class rangebuf
    rangespec.h             Listing 2, Specialization of rangebuf for
                                       ordinary pointers
    seqbuf.h                Listing 3, Class sequencebuf

hyslop                  Jim Hyslop and      Conversations: Manipulations
                        Herb Sutter

    escape.h                not listed
