Tools.h++ User's Guide

Document Number: 860-0150-001

Front Matter

| List of Figures | List of Examples | List of Tables |


Table of Contents

1. About Tools.h++
Overview and Features of Tools.h++
Tools.h++ and the C++ Philosophy
Tools.h++ and the Standardization of C++
Reading This Manual
Rogue Wave Professional Training
On-line Documentation
Technical Support
How to Contact Technical Support

2. Class Overview
Concrete Classes
Abstract Base Classes
Smalltalk-like Collection Classes
Common Member Functions
Memory Allocation and Deallocation
Information Flow
Multithread Safe
Eight-bit Clean
Embedded Nulls
Indexing
Version

3. Using the String Classes
An Introductory Example
Lexicographic Comparisons
Substrings
Pattern Matching
String I/O
Tokenizer
Multibyte Strings
Wide Character Strings

4. Using Class RWDate
Example
Constructors

5. Using Class RWTime
Setting the Time Zone
Constructors
Member Functions

6. Using Virtual Streams
Specializing Virtual Streams
Simple Example
Windows Clipboard and DDE Streambufs
DDE Example
RWAuditStreamBuffer
Recap

7. Using Class RWFile
Example

8. Using Class RWFileManager
Construction
Member Functions

9. Using Class RWBTreeOnDisk
Construction
Example

10. Collection Classes
Storage Methods of Collection Classes
Copying Collection Classes
Retrieving Objects in Collections
Iterators in Collection Classes

11. Collection Class Templates
Introduction
Template Overview
Tools.h++ Templates and the Standard C++ Library
Parameter Requirements
Comparators
Hash Functors and Equalitors
Iterators
Iterators and the std() Gateway
The Best of Both Worlds
Using Templates Without the Standard Library
Migration Guide: For Users of Previous Versions of Tools.h++

12. Smalltalk-Like Collection Classes
Tables of the Smalltalk-like Classes
Example
Choosing a Smalltalk-like Collection Class
Virtual Functions Inherited From RWCollection
Other Functions Shared by All RWCollections
Virtual Functions Inherited from RWSequenceable
A Note on How Objects are Found

13. Persistence
Levels of Persistence
No Persistence
Simple Persistence
Isomorphic Persistence
Polymorphic Persistence
A Few Friendly Warnings

14. Designing an RWCollectable Class
Why Design an RWCollectable Class?
How to Create an RWCollectable Object
Summary

15. Internationalization
Localizing Alphabets with RWCString and RWWString
Localizing Messages
Challenges of Localizing Currencies, Numbers, Dates, and Times
RWLocale and RWZone

16. Error Handling
The Tools.h++ Error Model
Internal Errors
External Errors
Exception Architecture
The Debug Version of Tools.h++

17. Advanced Topics
Dynamic Link Library
Copy on Write
RWStringID
More on Storing and Retrieving RWCollectables
Multiple Inheritance

18. Common Mistakes
Redefinition of Virtual Functions
Iterators
Return Type of operator>>()
Avoid Persisting Value Collections of Pointers
Include Path
Match Memory Models and Other Qualifiers
Keep Related Methods Consistent
DLL
Use the Capabilities of the Library!

A. Choosing A Collection
Selecting a Tools.h++ Collection Class
Time and Space Considerations

B. Typedefs and Macros

C. Messages

D. Bibliography

Index
may be slow. If this is an issue, declare your arrays with a class derived from that provides a faster constructor, or use