Building portable C++ applications with YACL

(Most chapters conclude with "Summary".) 1. Introduction. About YACL. Design Goals. The YACL Classes. Comparison With Other Class Libraries. Organization of This Book. I. THE BASE CLASSES. 2. Basic Concepts and Overview. Terminology. Ownership of Objects. Naming Conventions. Method Names. Overview of the Base Classes. 3. Protocol for All Objects. Methods for CL_Object. Comparison Methods. The Assignment Operator. Copying of Objects. Object Storage and Retrieval. Bindings and Notification. The Binding Classes. Notification of Change. Using Notification Codes. Pre-Change Notification. Implementing Dependent Notification. Run-Time Type Identification. Summary. 4. Elementary Data Types. Overriding Inherited Methods. Strings \Contentsline. Construction and Conversions. Basic Operations. Searching and Substitution. Case Conversions. String Modification. String Operations. Substrings. Elementary String Parsing. Interaction With Streams. 0 Implementation of Strings. Date and Time Classes Methods for CL_Date Methods for CL_TimeOfDay. Representation. a Simple Reminder Program. The Class CL_Integer. ByteArrays and ByteStrings. Summary. 5. Container Classes. Using Templates. Copy Or Pointer? Kinds of Containers. Interaction With Template Parameters. Null Values. Comparison. Object Input/Output. Notification By Containers. The Sequence Construction. Element Access and Modification. Ordering-Related Methods. Sequence Methods. Using Sequence for Queues and Stacks. Predefined Instantiations of the Sequence Template. Another Reminder Program. Protected Methods. The Set. The Protocol for Set. Instantiations of the Set Class Template. Iteration Over a Set. The BitSet. BitSets Versus IntegerSets. The Map Class. Protocol for the Map. The Tree and Tree-Walking Classes. Traversing a Tree. Instantiating New Containers. Containers Within Containers. Container Implementations. Implementation of Sequence. Representation of the Set Class. Implementation of the Map. Summary. 6. the B-Tree and Related Classes. Overview of the B-Tree Classes. Using the GenericBTree. The GenericBTree and Related Classes. Comparators. The Class GenericBTree. Iterators for Generic B-Trees. The Template-Based B-Tree Classes. Some Design Tradeoffs. Iterators. Instantiating Custom Templates. Implementing Other Containers Using B-Trees. Design and Implementation. The Class CL_BTreeNodeSpace. The Class CL_GenericBTreeNode. Traversing a Generic B-Tree. Implementation of B-Tree Algorithms. Implementation of the GenericBTreeIterator. Implementation of the Template-Based B-Tree. Summary. 7. Data Storage and Database Classes. The BinaryFile Class. The SlottedFile Class. Using the SlottedFile. Protected Methods. Implementing the SlottedFile. The ByteStringStore Class. Implementing the ByteStringsStore. Disk-Based B-Trees. Fixed-Length Items. Variable-Length Items. A Simple Database. Encapsulating a Table Row. Encapsulating a Table. Implementing the Table Class. Indexing. Summary. 8. Object Input/Output and Persistence. Printable Representations of Objects. Interfacing With C++. Using the Strstream and Related Classes. The Class CL_Stream. The Class Bytestream. Persistent Objects. Persistent Containers. Duplication. Object Identification. Memory Leaks. Summary. 9. Designing New Classes. The Book Class. Overriding the Comparison Method. Support for Notification. Object Input-Output and Persistence}. Designing a New Container. Platform Dependent Issues. Using Notification. Summary. 10. Error Handling. The Error Class. Changing the Error Handler. Detecting Memory-Related Errors. Using the Module. The MemoryLeakChecker Class. Memory Usage Information. Implementation of the Module. Summary. II. THE GRAPHIC USER INTERFACE CLASSES. 11. Basic GUI Concepts. Models, Views, and Controllers. Models and Views. Events and Controllers. Overview of the GUI Classes. Visual Objects. Simple Visual Objects. Collections of Visual Objects. The Controller. The Application Class. The Menu and Related Classes. Graphics-Related Classes. Points, Rectangles, and Graphics Objects. Coordinate Conventions. 0 Class Hierarchy. a Simple GUI Application. Implementation Considerations. Look and Feel. Non-Portable Methods. Platform-Specific Hooks. Summary. 12. The Visual Object. Creation and Destruction. The Visual Element. Model Access. Refreshing Model Contents. View-Related Methods. Shape and Position. The Title String. The Font Method. Visibility and Graying. Events and Related Methods. Event Dispatching. Event Types. Event Dependents. Cursors. The Protected Interface. Summary. 13. Composite Visual Objects. Overview. The CompositeVObject as a Main Window. Creation and Destruction}. Controlling Shape. Managing Children. Tab Stops. The CompositeVObject's Model. Dialogs. Modal Dialogs. Modeless Dialogs. Dynamic Dialogs. Standard Dialogs. Summary. 14. Data Display Classes. Protocol for SimpleVObject}. Models. Selections. Ownership of Models and Selections. Buttons, Button Groups, and Labels. The Pushbutton. Toggle Buttons. Button Groups. The Label Class. A Calculator Application. The StringView Classes. Sharing the Model. A Sample Application: Displaying Environment\\ Variables. Sample Application: Dual StringViews. The Scrollbar Classes. A Sample Application. The StringEditor and TextEditor Classes. Summary. 15. Menus. The Menu Classes. The Menu Protocol. The MenuItem Class. An Example Application. Creating the Menu Bar. Adding Event Dependents. Handling Events. Summary. 16. Graphics and Drawing. Painting a Window. Graphics Objects. The Rectangle. Other GraphicObjects. The DisplaySurface Class. Creating a DisplaySurface. Drawing Tools and Operations. Colors. DisplaySurface Modes. Rubber Banding. An Example Application. Classes Related To DisplaySurface. Text and Fonts. Font Methods. Font Selection. Enumerating Fonts. Relationships Between the Graphics Objects. Bitmaps. A Simple Animation Program. Example: Implementing Large StringViews. Construction. Initialization and String Painting. Handling Changes in Model Contents. Selections. Limitations and Possible Extensions. Some Design and Implementation Issues. The Drawingsurface and Graphicobject\\ Protocols. Implementing the Font Classes. Summary. 17. Implementation and Platform Specifics. Building an Application. Directory Structure. Compiling and Linking an Application. Processing Errors in a GUI Application. Implementation of the GUI Classes. The Main Program. The Controller. The Visualobject. Collections of Visual Objects. Implementation Under Microsoft Windows. Visual Elements. Three-Dimensional Look. Style Parameters. Tabbing Sequences. Resource-Based Dialogs. The Ampersand Character. The Menu Classes. Access To Windows Data. Implementation Under OS/2. Visual Elements. View Id's. Implementation Under Motif}. Using X Resources. Naming Fonts. Access To X-Windows Data. Summary. Part III. YACL REFERENCE MANUAL. Bibliography. Index. 0201832763T04062001