HP aC++/HP C A.06.25 Programmer's Guide

Introduction
HP aC++ provides the Rogue Wave implementation of the ANSI/ISO Standard C++
Library. This implementation includes the following features:
A subset of data structures and algorithms, updated from the original library
developed at Hewlett-Packard by Alex Stepanov and Meng Lee and known as the
C++ Standard Template Library (STL)
NOTE: The public domain C++ Standard Template Library is not supported by
this Standard C++ Library.
Technical Corrigenda 1 has changed the STL function make_pair to take their
arguments by value instead of const reference. This change brings the HP library
into compliance if the enabling macro -D__HP_TC1_MAKE_PAIR is specified at
compile time. For binary compatibility reasons, the default behavior is unchanged.
A templatized string class
A templatized class for representing complex numbers.
A framework that describes the execution environment, using a template class,
numeric_limits, and specializations for each fundamental data type
Memory management features
Language support features
Exception handling features
Introduction to Using the Standard C++ Library
Although the design of a large portion of the Standard C++ Library is, in many ways,
not object-oriented, C++ excels as a language for manipulating objects. How do you
integrate the non-object-oriented architecture of the library with the strengths of the
language for manipulating objects?
The key is to use the right tool for each task. For a majority of programming tasks,
object-oriented techniques is the preferred approach. Products such as Rogue Wave’s
Tools.h++ Library, which encapsulate the Standard C++ Library with a familiar
object-oriented interface, provide the power and advantages of object-orientation.
Use Standard C++ Library components directly when you need flexibility or highly
efficient code. Use the more traditional approach to object-oriented design, such as
encapsulation and inheritance, to model larger problem domains and knit all the pieces
into a complete solution. To devise an architecture for your application, use
encapsulation and inheritance to compartmentalize the problem. For an efficient data
structure or algorithm for a compact problem that often resolves to a single class, use
the Standard C++ Library. Use this library to create reusable classes when low-level
constructs are needed. Use traditional OOP techniques to combine classes to solve a
larger problem.
Creating and Using Libraries 231