HP Integrity NonStop J-Series User Manual
Page 17

template. You'll find a full explanation of templates in
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
●