************************* 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: Jun95 C C+ Matrix BCD Random FOSSIL Dynamic Inheritance iostream

The code listings for the June 1995 issue of C/C++ Users Journal include
source code for K.B. Williams matrix multiplication function (C), Mark
Parker's classes to encapsulate the 80x86 math Coprocessor BCD
functions, Jerry Dwyer's quick and portable random number generators,
David Lowerre's classes to perform map projections, James K. Lawless'
tutorial on FOSSIL communications drivers, and Kenneth Van Camp's filter
classes to simulate dynamic inheritance.  Also included are listings
from P.J. Plauger's Standard C/C++ column, and Dan Saks' column,
Stepping Up to C++.
*************************  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++:	The Header	8
					<iostream>

    iostream	 - listing 1, The file iostream
    iostream.c	 - listing 2, ios::Init members, standard streams
    tiostrea.c	 - listing 3, Tests basic workings of iostreams
			      definitions

williams		K. B. Williams	Magic Matrix Multiply		19

    matmpy.c	 - listing 1, Magic matrix multiply routine
    mpydefs.h	 - listing 2, Header file for matmpy options and
			      prototype
    matapp.c	 - listing 3, Sample application of matmpy


parker			Mark R. Parker	Encapsulating Math Coprocessor	27
					BCD Arithmetic

    bcd.h	 - listing 1, BCD class definition
    bcd.cpp	 - listing 2, excerpted implementation of class BCD
    bcdops.asm	 - listing 3, 80x87 code to add two BCD numbers

parker2			Mark R. Parker	Encapsulating Math Coprocessor  27
					BCD Arithmetic
			(Complete listings)

    bcd.h	 - listing 1, BCD class definition
    bcd.cpp	 - complete BCD class definition
    bcdops.asm	 - complete 80x87 code to add, subtract, and negate
		   BCD numbers
    bcdops.obj	 - object file made from bcdops.asm
    cl.bat	 - not listed, batch file to direct compilation
    bcd.exe	 - test routine executable


dwyer			Jerry Dwyer	Quick and Portable Random	33
					Number Generators

    lehmer.mat	 - listing 1, A couple of lines of Mathematica code
		              that implement a Lehmer generator
    randport.c	 - listing 2, A portable and reasonably fast
			      multiplicative random number generator
    randcomb.c	 - listing 3, Combination multiplicative random number
			      generator

lowerre			David T.	Map Projections in C++		45
			Lowerre

    vector.hpp	 - listing 1, A simple class for handling vectors
    
lawless			James K.	Interfacing to a FOSSIL Driver	59
			Lawless

    fterm.c	 - listing 1, Barebones FOSSIL program

vancamp			Kenneth E.	Dynamic Inheritance Using	69
			Van Camp	Filter Classes

    tbldata.hpp	 - listing 1, TableData class
    tdnorm.hpp	 - listing 2, TableDataNormalize class
    tdavg.hpp	 - listing 3, TableDataAverage class
    tdbuf.hpp	 - listing 4, TableDataBuffer class
    tdexmpl.hpp	 - listing 5, Financial market example
    tdexmpl.cpp	 - listing 6, Example use of TableData
    makefile	 - not listed, make file for building code

saks			Dan Saks	Stepping Up to C++: Changes	79
					in the Scope Rules

    armexmpl.h	 - listing 1, The example from the ARM limiting the
			      context sensitivity of class member
			      declarations

    drftxmpl.h	 - listing 2, The example from the C++ draft standard
			      illustrating the class scope rules


letters		   	We Have Mail					104

    convert.c	 - listing 1, Converting integer formats between PCs
			      and MACs
    noprecis.c	 - listing 2, A precision problem uncovered


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

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

