************************* 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: Feb95 C C+ Embedding Flash Associative Templates EMS strstream

The code listings for the February 1995 issue of C/C++ Users Journal
include source code for Jeff Pipkins' article on embedding 80x86 code,
Mike Cepek's article on Flash Memory Programming, Michael McClung's
article on associative arrays in C, and John Small's article on
simulating templates in C and C++.  Also included are listings from P.J.
Plauger's Standard C/C++ column, Chuck Allison's column, Code Capsules,
Dan Saks' column, Stepping Up to C++, and Ken Pugh's column, Q&A.
*************************  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++:	Implementing	10
					<strstream>

    strstrea	 - listing 1, The header <strstream>
    strstrea.c	 - listing 2, strstreambuf basic members
    strstpro.c	 - listing 3, strstreambuf protected members
    strstfre.c	 - listing 4, strstreambuf::freeze(bool)
    strstpos.c	 - listing 5, strstreambuf positioning members
    istrstre.c	 - listing 6, istrstream basic members
    ostrstre.c	 - listing 7, ostrstream basic members


pipkins			Jeff D. Pipkins Embedding on a Budget		25

    hello.c	 - listing 1, The application to be embedded
    hello.mak	 - listing 2, The make file
    startup.asm	 - listing 3, Startup code
    stdio.c	 - not listed, A stripped-down version of
		   the real stdio.c, for embedded I/O

cepek			Mike Cepek	Programming Flash Memory	35

    fmutl.h	 - listing 1, Data structures used by flash memory
			      programmer
    fmutl.c	 - equivalent to listings 2 through 7 in magazine
    flashtst.c	 - not listed, Used to test flash programming routines

mcclung			Michael McClung	Using Associative Arrays	51

    aa.h	 - listing 1, The associative array header
    aa.c	 - equivalent to listings 2 through 8 in magazine
    wordfreq.c	 - listing 9, Program to count word frequency
    sparse.c	 - listing 10, 3D sparse array program

small			John W. Small	Simulating C++ Templates	67
					in C and C++

    strstack.c	 - listing 1, Implementing a stack of strings in C
    strstack.cpp - listing 2, C++ version of listing 1
    stkparam.cpp - listing 3, Using a class template to parameterize
			      the stack class
    decl_gen.hpp - listing 4, Declaring synthesized templates in C++
    def_gen.cpp	 - listing 5, Defining synthesized templates in C++
    formtemp.cpp - listing 6, Use form templates
    decl_gen.h	 - listing 7, Declaring synthesize templates in C
    def_gen.c	 - listing 8, Defining synthesized templates in C
    formtemp.c	 - listing 9, Using synthezied templates in C

pugh			Kenneth Pugh	Q&A: qsort and static Functions	85

    trysort.cpp	 - listing 1, An attempt to use qsort in C++
    sort.cpp	 - listing 2, Using qsort in C++ made possible via static
			      member function


allison			Chuck Allison	Code Capsules: The Standard C	89
					Library, Part 2

    bit3.c	 - listing 1, A use for CHAR_BIT
    range.c	 - listing 2, Uses limits.h to choose a suitable
			      numeric type
    widedemo.c	 - listing 3, Illustrates wide character strings
    offsetof.c	 - listing 4, Uses offsetof to expose alignment within
			      a structure
    timer.h	 - listing 5, Stopwatch function prototypes
    timer.c	 - listing 6, Implementation of stopwatch functions
    t_timer.c	 - listing 7, Illustrates the stopwatch functions
    tm.h	 - listing 8, Definition of struct tm from <time.h>
    
saks			Dan Saks	Stepping Up to C++: Minor	101
					Enhancements to C++ as of CD
					Registration

    shape.h	 - listing 1, A polymorphic hierarchy of shapes with
			      a clone function
    noclass.cpp	 - listing 2, An example that illustrates why bool
			      can't be a class type
    
*******************************************************************************

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

