************************* MASTER CODE ***************************************

The name of the first file in this disk's directory identifies the volume,
issue number and revision of the disk. The format of this filename is:

    !CDmvvii.rrr

where
    ! = the '!' character
    m =   C for C Users Journal, W for Windows/DOS Developer's Journal
    vv =  volume
    ii =  issue
    rrr = revision (001 for initial release, 002 for next update, etc.)

The file UPDATE.DOC contains information about any additions or
corrections to material on the disk since the original magazine
publication.

If you have obtained this code from a floppy diskette or from CompuServe, the 
headings under the column "FILENAME" represent the names of .ZIP files.  All 
files listed under the filename are archived in the .ZIP file.

If you have obtained this code from UUNET, the headings under the column 
"FILENAME" represent the names of subdirectories.  All files listed under the
"filename" are included in a subdirectory of that name.

Keywords: C C++ bit Foundation UNIX Windows float

The code listings for the January 1994 issue of The C Users Journal
include source for William Smith's implementation of a short floating
point type, Andy Yuen's class for managing time-consuming Windows tasks,
A couple of examples Scot Wingo's code for porting the Microsoft
Foundation Class Library to UNIX, and Chuck Allison's implementation of
C++ bit handling routines.

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

The following files are included in the disk:

FILENAME	AUTHOR-NAME		TITLE			          PAGE
-------------------------------------------------------------------------------
saks (ZIP archive/subdirectory name)					61

    shape1.h	 - listing 1, A base class for shapes
    shape2.h	 - listing 2, Member functions and static member data
                   definitions for class shape
    circle.h     - listing 3, Class circle derived from shape
    rectangl.h	 - listing 4, Class rectangle derived from shape
    largest.cpp	 - listing 5, A function that returns the shape with
                   the largest area in a collection of shapes
    override.cpp - listing 6, Demonstrates selective virtual overriding
    abshape.h	 - listing 7, An abstract base class for shapes
    derived.h    - listing 8, A derived class that doesn't override all
                   virtual functions

allison (ZIP archive/subdirectory name)					91

    swap.cpp	 - listing 1, A function template for swapping two
                   objects of the same type
    stack1.h     - listing 2, A class for a stack of integers
    stack1.cpp   - listing 3, Out-of-line functions for the stack class
    stack2.h     - listing 4, A class template for homogenous stacks
    tstack2.h    - listing 5, Illustrates the stack template class
    bits.cpp     - listing 6, The bits class interface template
    bits.h       - listing 7, An implementation of the bits class
                   template
    tbits.cpp    - listing 8, Tests the bits class
    intset.h     - listing 8, Implementation of sets of integers
    tintset.cpp  - listing 8, Tests the intset class

pugh (ZIP archive/subdirectory name)					75

    array2d.c    - listing 3, Using a typedef to eliminate type
                   incompatibilities

smith (ZIP archive/subdirectory name)					23

    sfloat.hpp   - listing 1, Definition of class sfloat
    sfloat.inl   - listing 2, Constructor functions and overloaded
                   operators for class sfloat
    sfloat.cpp   - listing 3, Definition of default values and of
                   function sfloatrange

wingo (ZIP archive/subdirectory name)					55

    debugnew.cpp - listing 1, MFC overloading of new for debugging
    alignfix.cpp - listing 4, Fixes potential memory alignment problems

yuen (ZIP archive/subdirectory name)					35

    cschlr.hpp   - listing 1, Interface to Cschlr class
    cschlr.cpp   - listing 2, Member function definitions for class
                   Cschlr
    csemq.hpp    - listing 3, Header file for class Csemq
    csemq.cpp    - listing 4, Member function definitions for class Csemq
    cthread.hpp  - listing 5, Header file for class Cthread
    cthread.cpp  - listing 6, Member function definitions for class Cthread
    bigjob.h     - listing 7, Implements main logic of example program
                   bigjob.cpp
    makefile.mak - listing 8, Make file for program bigjob.cpp
    bigjob.cpp   - Not listed in magazine.  Example program.

letters (ZIP archive/subdirectory name)

    ratint.c     - listing 8, Lowell Smith's function ratint for RPFT
                   code
    RPFT.c       - Not listed in magazine.  Lowell Smith's corrected
                   RPFT code.
    flagxmpl.cpp - listing 9, Dave Rogers' example of iostreams format
                   flag behavior
    copyfix.c    - listing 11, Ed Sarlls' fix for Roger Meadows strws
                   function
    sfxtest.c    - listing 12, Ed Sarlls' test code for copyfix.c
    pizza.c      - listing 13, Chuck Allison's sample code provided as
                   an example of C code that works - reply to Conrad
    pizza.cpp    - listing 14, Chuck Allison's sample code provided as
                   an example of C++ code that works - reply to Conrad
 

******************************************************************************


If you have questions regarding to the disk, please call or write us.

-----------------------------------------------------------------------------
                           R&D Publications, Inc.
                        1601 W. 23rd St. Suite 200
                            Lawrence, KS 66046
                              (913) 841-1631
-----------------------------------------------------------------------------

