Tools.h++ Manual
104011 Tandem Computers Incorporated 1-3
1
• File Space Manager
Allocates, deallocates and coalesces free space within a file.
• Still more classes...
Bit vectors, virtual I/O streams, caching managers, virtual arrays, etc.
• A complete error handling facility
Including a facility for handling exceptions.
• Online Examples
The source code for examples used in the chapter “Examples” is typically
found in
/opt/SUNWspro/examples/Tools.h++
, depending on where
you installed C++. Also included are sample input and output files, if
needed, and makefiles.
1.2 Supported C++ compilers
Tools.h++ can be compiled without modification by a wide variety of C++
compilers. Contact Rogue Wave Software for further information.
1.3 Philosophy
The C++ language has several design goals that set it apart from most other
object-oriented languages. The first and foremost is efficiency: it is possible to
write production quality code that is every bit as efficient and small as code
that has been written in C, yet more maintainable. A second is a "less is more"
philosophy: no feature has been included in the language that will make non-
users of the feature suffer. For example, you will not find built-in garbage
collection. The result is a skeletal, lean-and-mean language (at least as far as
object-oriented languages go) that compiles fast and results in small, efficient,
but not terribly general, code.
Towards getting the best out of the language, the Tools.h++ class library has
adopted similar goals: Efficiency, simplicity, compactness, and predictability.
Efficiency. In general, you will find no feature that will slow things down for
the non-user of the feature. As many decisions as possible are made at compile
time, consistent with the C++ philosophy of static type checking. In most
cases, we offer a choice between classes with extreme simplicity, but little
generality, and classes that are a little more complex, but more general. We
have chosen not to require that all classes inherit a secular base class (such as