HP Integrity NonStop J-Series User Manual

Page 17

Advertising
background image

template. You'll find a full explanation of templates in

Chapter 11

. Following are the major

design goals for our integration of Tools.h++ and the Standard C++ Library, along with
examples of how they are reflected in this version:

Design Goal: Leverage

To offer greater value by taking advantage of the Standard C++ Library to build upon a
higher foundation than the base C++ language.

For example, Tools.h++ offers collections that use Standard C++ Library containers for
their implementations. Building Tools.h++ upon the standard enables these collections to
easily supply standard iterators, which in turn allows them to be used with the rich set of
Standard C++ Library algorithms. At the same time, you retain the safe, easy-to-use,
object-oriented interface that Tools.h++ collections have always provided.

Design Goals: Interoperability

To support one of the primary benefits of the C++ standard, which is to allow libraries,
modules, classes, and algorithms from diverse providers to easily work together at a high
level.

For example, we made sure you can safely and efficiently pass a Tools.h++
doubly-linked list where a Standard C++ Library

list

is expected.

Design Goal: Freedom

To maintain access to the Standard C++ Library.

For example, when using a Tools.h++ collection implemented with a Standard C++
Library container, you are always free to drop down to the level of the implementation
that takes advantage of the non-object-oriented features of the Standard C++ Library.

Design Goal: Object-orientation

To enhance the Standard C++ Library with efficient, object-oriented interfaces.

All our new and re-engineered collection class templates exemplify this goal. In each
case, we have put an efficient wrapper around a corresponding Standard C++ Library
container to provide a familiar, though expanded, Tools.h++ collection interface.

Design Goals: Simplicity and Safety

To enhance the Standard C++ Library with a simpler interface, which reduces risk and
makes client code easily maintainable.

The object-oriented interface helps achieve this goal. Unlike the Standard C++ Library,
the Tools.h++ container methods know what data they control, freeing the user from the
need to specify iterators and algorithms.

Design Goal: Compatibility

Advertising
This manual is related to the following products: