************************* 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: Apr95 C C+ Cross-Platform Wildcard Custom fstream Mutable The code listings for the April 1995 issue of C/C++ Users Journal include source code for David Chapman's error manager with message text replacement, Laszlo Zeke's article on a designing a cross-platform GUI, Mike Cornelison's two wildcard matching utilities, Also included are listings from P.J. Plauger's Standard C/C++ column, Chuck Allison's column, Code Capsules, 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 fstream - listing 1, The header chapman David Chapman An Error Manager with Message 23 Text Replacement failhdlr.hpp - listing 2, Definition of class failure_handler failerr.cpp - listing 3, A sample member function of class failure_handler errmgr.hpp - listing 4, Definition of class error_mgr -- fragment cfhmem.cpp - listing 5, Member functions of class counting_failure_handler errmgr.cpp - listing 6, Member functions of class error_mgr utils.hpp - listing 7, Text and pointer utilities complain.hpp - listing 8, Definition of class complaint_dict complain.cpp - listing 9, Member functions of class complaint_dict chapman2 David Chapman An Error Manager with Message Text Replacement Contains complete source code, including code not listed in article zeke Laszlo Zeke Designing a Cross-Platform GUI 41 gui.h - listing 1, Platform-independent header file for class library gui.c - listing 2, Implementation of platform-independent functions demo.c - listing 3, Short demonstration program zeke2 Laszlo Zeke Designing a Cross-Platform GUI os2.zip - not listed in magazine, contains GUI code native to OS/2 win.zip - not listed in magazine, contains GUI code native to Windows 3.1 and Windows NT aix.zip - not listed in magazine, contains GUI code native to AIX native.doc - documentation for native code for OS/2, Windows, and AIX cornelis Mike Cornelison Two Wildcard Matching Utilities 55 mtchwild.c - listing 1, String matching utility srchwild.c - listing 2, Directory search utility allison Chuck Allison Code Capsules: A Better C 67 convert1.c - listing 1, Illustrates the need for function prototypes convert2.c - listing 2, Illustrates automatic conversion via function prototypes convert3.cpp - listing 3, Illustrates an implicit user-defined conversion convert4.cpp - listing 4, Shows that only one user-defined conversion is allowed linkdem1.c - listing 5, Illustrates program linkage linkdem2.c - listing 6, A function intended to link with the program in Listing 5 swap.cpp - listing 7, A swap function that illustrates call- by-reference retref.cpp - listing 8, Returns an object from a function by reference swap2.c - listing 9, A function template for swap() operate.cpp - listing 10, operator+ and operator<< for a complex number data type usecmplx.cpp - listing 11, Uses the complex number data type minutes.cpp - listing 12, Illustrates default arguments declare.cpp - listing 13, Shows that declarations are statements saks Dan Saks Stepping Up to C++: Mutable 79 Class Members array1.cpp - listing 1, A simple array class template array2.cpp - listing 2, A simple const-correct array class template z1.cpp - listing 3, A rudimentary class for complex numbers which recomputes the polar form on demand z2.cpp - listing 4, A rudimentary class for complex numbers using "lazy" evaluation and caching for polar form z3.cpp - listing 5, A rudimentary class for complex numbers using a mutable member to implement "lazy" evaluation and caching for polar form letters We Have Mail 104 ldist.zip - not listed, R. Bruce Roberts code for inexact string matching, contributed in response to Soundex article ******************************************************************************* 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 -----------------------------------------------------------------------------