************************* 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: Sep94 C C++ Windows Extensions Memory Management Soundex Iterators

The code listings for the September 1994 issue of C/C++ Users Journal
include source code for David Singleton's objects for using Windows
Global Memory Services, Trevor Harmon's code for extending the Windows File
Manager, Jeff Rosen's Soundex algorithm, and Thomas Niemann's Today Disk
Utility. 
*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	TITLE			       PAGE
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------
plauger 		P.J. Plauger	Standard C/C++:			10
					The Header <ostream>

    ostream.h	 - listing 1, Draft C++ Standard description of class
			      ostream

single			David Singleton	Using Windows Memory Management	19
					Services

    farheapb.h	 - listing 1, Definition of class FarHeapBlock
    farheapb.cpp - listing 2, Member functions of class FarHeapBlock
    mobject.h	 - listing 3, Definition of class MemoryObject
    mobject.cpp  - listing 4, Member functions of class MemoryObject

single2			David Singleton	Using Windows Memory Management
					Services

    Complete source code, including code not listed in magazine

harmon			Trevor Harmon	Extending the Windows File	37
					Manager

    fmext.c	 - listing 1, Sample program
    fmext.h	 - listing 2, Header file for DLL
    fmext.rc	 - listing 3, Resource file for File Manager Extension
    fmext.def	 - listing 4, Module definition file

rosen			Jeff Rosen	A Simple Soundex Algorithm	49

    soundex.c	 - listing 1, Program to demonstrate use of soundex

niemann			Thomas Niemann	Today				53

    today.c	 - listing 1, Today disk utility


pugh			Ken Pugh	Q&A:Parenthesis with new	55
					Operator

    object.c	 - listing 1, An example of code written in Objective-C

allison			Chuck Allison	Code Capsules:Conversions and	67
					Casts

    char1.c	 - listing 1, Illustrates promoting signed char to int
    char2.c	 - listing 2, Hexadecimal display of listing 1
    char3.c	 - listing 3, Illustrates promoting unsigned char to
                              int
    char4.c	 - listing 4, Hexadecimal display of listing 3
    dump.c	 - listing 5, Hexadecimal/ASCII dump program
    intproex.c	 - listing 7, Integral promotion exercise
    narrow.c	 - listing 8, Illustrates narrowing conversions
    innac.c	 - listing 9, Illustrates the innaccuracies of floating
                              point arithmetic
    threetyp.c	 - listing 10, Illustrates the three floating-point
    autoconv.c	 - listing 11, Exposes the automatic conversions
			       performed via prototypes
    inspect.c	 - listing 12, Inspects the bytes of arbitrary objects
    rational.h	 - listing 14, Interface and inline functions for
			       fractional arithmetic class
    testrat.c	 - listing 15, Tests class Rational
    rational.cpp - listing 16, Implementation of Rational class
    gcd.c	 - listing 17, Computes greatest common divisor of two
			       integers by Euclid's algorithm
    uncheck.c	 - listing 18, Shows that unchecked arguments do not
			       get converted
    bitstr.h	 - listing 19, Adds a helper class for operator[] to
			       the standard C++ bitstring class
    bitstr.cpp	 - listing 20, Integerates the implementation of the
			       bitref class with the bitstring class
    bittest.c	 - listing 21, Tests bitstring::operator[]

saks			Dan Saks	Stepping Up to C++: Designing	87
					Generic Container Classes,
					Part 3: Iterators

    genq4.h	 - listing 1, Class definition for a generic queue
			      using void * elements and a two-argument
			      iteration function
    genq4.cpp	 - listing 2, Non-inline member function definitions
			      for a generic queue using void * elements
			      and a two-argument iteration function
    strq4.h	 - listing 3, Class and inline member function
			      definitions for a type-safe queue of str
			      wrapped around a genq
    strq4.cpp	 - listing 4, Non-inline member-function definitions
			      for a type-safe queue of str wrapped
			      around a genq
    strtst4.cpp	 - listing 5, A test program for a queue of str
			      implemented using genq
    iter.cpp	 - listing 6, Output operator for str using an iterator
			      object
    genq5.h	 - listing 7, Class and inline member function
			      definitions for a generic queue using
			      void * and a nested iterator class
    genq5.cpp	 - listing 8, Non-inline member function definitions
			      for a generic queue using void * and a
			      nested iterator class
    genq5b.h	 - listing 9, The genq class from listing 7 rewritten
			      using forward-declared nested classes
    strq5.h	 - listing 10, Class and inline member function
			       definitions for a type-safe queue of str
			       with a nested iterator class

letters					We Have Mail			109

    format.c	 - listing 1, Meredith's formatting algorithm
    zigler.c	 - listing 3, Zigler's compression technique

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

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
-----------------------------------------------------------------------------

