Click on banner to return to main menu.

More on Tools.h++

This page describes Tools.h++ from a more technical perspective. If you really want the nitty-gritty details, see the technical overview.

From here, you can also access:

Table of Contents

The basics

Tools.h++ is a C++ class library that can simplify your code, while improving the performance of your programs. Tools.h++ is the industry standard C++ data structure library. Time, date, string, linked lists and all the fundamental structures needed to do any C++ programming are included.

Tools.h++ has three sets of collection classes: Template based, Smalltalk-like, and generic based. With Smalltalk-like collections, Class Set could be used to collect a group of screen windows which will need to be refreshed. Because Set guarantees that there will be no duplicates, you need not worry about redundant refreshes. Your code gains power with minimal intervention on your part.

All of the classes support persistence, allowing you to save your objects to disk, to be faithfully restored at a later time even under a different operating system or through the Windows DDE facility! Multiple pointers to the same object can also be restored (isomorphic persistence). Example? Suppose you were designing a 3-D viewing system that supported multiple views of the same object. When you store these views to disk, you want to make sure that they don't all store the same viewed object over and over again. Furthermore, it's important that, when restored, all views look at just one replicate of the original object and not three different copies of the original object. The Tools.h++ collection classes can automatically detect this situation and store and restore only one instance of a multiply-referenced object.

The sophisticated algorithms and extensive code reuse makes the library small as well as powerful. A careful class architecture makes your code snap into place. And, of course, in the C++ tradition, all Tools.h++ classes are designed to be extensible so that you can easily create your own custom classes.

Internationalized

Tools.h++ is internationalized, providing the ability to work with world-wide, local character sets. With Internationalization, programmers can write a single application that can ship to any country. This application, when executed, will be able to process times, dates, strings, and currency in the native format. "Internationalization" features include:

Multi Thread Safe

Efficiency

With Tools.h++, all classes have not been derived from a single root class, so it is easy to combine them with other C++ classes such as the GUI classes from Liat, Zapp, Zinc, and others.

In general, Tools.h++ is an extremely efficient class library with features that will not hinder the speed of your program. In most cases, Tools.h++ offers you a choice between:

Compactness

Programs compile small and are usable in embedded systems or under MS-DOS. Using one class does not require you to use the whole library.

Persistence

All classes allow saving for later restoration, even under a different operating system.

Simplicity

Tools.h++ has not succumbed to the temptation of adding subclasses to demonstrate prowess with the language. Although the overall architecture is sophisticated and integrated, each class usually plays just one well-defined, pivotal role.

Predictability

Familiar operators work just as you might expect-there are no surprises. This approach gives the class library great symmetry and makes it possible to do things such as change the implementation of a dictionary from a hash table to a B-tree.

DLL

Tools.h++ can be complied as a Windows Dynamic Link Library (DLL) to allow smaller executables, code sharing, and easier maintenance.

Multiple Operating Systems

Tools.h++ can be used on Unix, MS-DOS, and OS2 and is compatible with HP, Sun, DEC, Microsoft Windows 3.1, Windows NT, and Macintosh.

Packaged Support

Rogue Wave Software's Packaged Support program has been designed to keep you informed, your software current, and your support services cost effective.

Packaged Support includes:

ToolsPro.h++

ToolsPro.h++ includes Tools.h++ and a comprehensive test suite that enables the customer to modify portions of the Tools.h++ class library and verify that there is no change in the behavior of the rest of Tools.h++. It also helps validate successful ports to those platforms not already certified for Tools.h++. Finally, ToolsPro.h++ is a learning aid for those wishing to incorporate Tools.h++ into their own applications. Also included is a test harness to automatically execute the test suite under Unix and MS-DOS.


© Copyright 1995, Rogue Wave Software, Inc.