************************* 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/C++ Users Journal, W for Windows 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.

The headings under the column "FILENAME" represent the names of .ZIP 
files.  All files listed under the filename are archived in the .ZIP 
file.

Keywords: Apr96 C C+ OSE Shared Gateway Stereogram <iterator> Parse Unix

The code listings for the April 1996 issue of C/C++ Users Journal
include source code for Marco Savard's article on treating UNIX shared
memory as files, Chris Seekamp's example classes illustrating the
implementation of an multiprocess SNA gateway, Joey Rogers'
Object-Oriented Expression Evaluator, and Dwayne Phillips' Random Dot
Stereograms.  Also included are source listings from P.J. Plauger's
column, Standard C/C++, Dan Saks' column, Stepping Up to C++ (a.k.a. The
Column that Needs a Name), and Bobby Schmidt's column,  the Learning
C/C++urve.

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

The following files are included in the disk:

FILENAME                AUTHOR-NAME     TITLE                          PAGE
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------

plauger                 P.J. Plauger    The Header <iterator>, Part 1   8

    iterator     - listing 1, The header <iterator>
    revers1.cpp  - listing 2, Template function reverse
    revers2.cpp  - listing 4, Improved template function reverse

savard                  Marco Savard    Shared Memories as Files        23

    hello.c      - listing 3, A "hello world" app that uses shared
			      memory
    shared       - not listed, Complete source code for shared memory
			       package, including listing 1,
			       listing 2, and shm_pack.h.

seekamp                 Chris Seekamp,  A Portable Multiprocess Gateway 35
			Gary Domrow,    in C++
			Tony Wrobel,
			and Dov Bulka

    aixkproc.cpp - listing 1, System-specific class
    mykproc.cpp  - listing 2, Task-specific subclass

rogers                  Joey Rogers     An Object-Oriented Expression   43
					Evaluator

    example.c    - listing 5, Sample use of expression evaluator
    express      - Full source code, which includes listings 1 thru 4
		   in the article
    

phillips                Dwyane Phillips Image Processing in C, Part 16: 53
					Random Dot Stereograms

    pstereo.c    - listing 1, A program to produce pixel-based
			      random dot stereograms
    cstereo.c    - not listed, A program to produce character-based
			       random dot stereograms
    pattern.c    - not listed, Produces pattern files
    tiffs.c      - not listed, Auxiliary functions to access tiff files
    cips.h       - not listed, Needed to compile source code
    cc.tif       - not listed, sample tiff file
    ccsfile.tif  - not listed, sample tiff file
    sqdepth.tif  - not listed, sample tiff file
    sqdeq.tif    - not listed, sample tiff file
    sqsfile.tif  - not listed, sample tiff file

saks                    Dan Saks        Stepping Up to C++:             63
					Recovering from Parsing Errors

    perror.cpp   - listing 1, The parser's original error handling
			      function that terminates program
			      execution
    reset.cpp    - listing 2, A function to reset the scanner
    decl1.cpp    - listing 3, The decl parser with error recovery using
			      an error string return value as the error
			      indicator
    decl2.cpp    - listing 4, The decl parser with error recovery using
			      setjmp and longjmp
    decl3.cpp    - listing 5, The decl parser with error recovery using
			      exception handling

schmidt                 Bobby Schmidt   The Learning C/C++urve:         79
					Controlling Silent Conversions

    bool11.h     - listing 1, Version 11 of boolean
    bool13.h     - listing 2, Version 13 of boolean
    v11-13.txt   - table 1, Test suite results for versions 11, 12, &
			    13

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

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

-----------------------------------------------------------------------------
			   Miller Freeman Inc.
			1601 W. 23rd St. Suite 200
			    Lawrence, KS 66046
			      (913) 841-1631
-----------------------------------------------------------------------------

