[an error occurred while processing this directive]

HP OpenVMS Systems

C++ Programming Language
Content starts here

Compaq C++
Using Compaq C++ for OpenVMS VAX


Previous Contents Index

Chapter 3
3 Compaq C++ Language Environment
     3.1     Using Existing C Header Files
         3.1.1         Providing C and C++ Linkage
         3.1.2         Resolving C++ Keyword Conflicts
         3.1.3         Handling Scoping Issues
         3.1.4         Support for <stdarg.h> and <varargs.h> Header Files
     3.2     Using Compaq C++ with Other Languages
     3.3     Linkage to Non-C++ Code and Data
     3.4     How to Organize Your C++ Code
         3.4.1         Code That Does Not Use Templates
         3.4.2         Code That Uses Templates
         3.4.3         Summary
         3.4.4         Creating Libraries
     3.5     Hints for Designing Upwardly Compatible C++ Classes
         3.5.1         Source Compatibility
         3.5.2         Link Compatibility
         3.5.3         Run Compatibility
         3.5.4         Additional Reading
Chapter 4
4 Porting to Compaq C++
     4.1     Using Classes
         4.1.1         Friend Declarations
         4.1.2         Member Access
         4.1.3         Base Class Initializers
         4.1.4         Undefined Global Symbols for Static Data Members
     4.2     Using Pointers
         4.2.1         Pointer Conversions
         4.2.2         Bound Pointers
         4.2.3         Constants in Function Returns
         4.2.4         Pointers to Constants
     4.3     Using typedefs
     4.4     Initializing References
     4.5     Using the switch and goto Statements
     4.6     Using Volatile Objects
     4.7     Preprocessing
     4.8     Managing Memory
     4.9     Size-of-Array Argument to delete Operator
     4.10     Flushing the Output Buffer
     4.11     Missing Parenthesis Error Message
Chapter 5
5 Using Templates
     5.1     Automatic Instantiation Quick Start
     5.2     Automatic Instantiation Specifics
         5.2.1         Overview of the Instantiation Process
         5.2.2         Compiling and Linking
         5.2.3         Repositories
         5.2.4         Template Declaration File
         5.2.5         Template Definition File
         5.2.6         Name-Mapping File
         5.2.7         Instantiation Source File
             5.2.7.1             Template Definition File Lookup
         5.2.8         Dependency Management
         5.2.9         Building Libraries and Applications That Use Templates
             5.2.9.1             Building a Standalone Library
                 5.2.9.1.1                 Creating a Single Library
                 5.2.9.1.2                 Creating Multiple Libraries
                 5.2.9.1.3                 Using the /log Option on Your cxxlink Command
             5.2.9.2             Building an Application
                 5.2.9.2.1                 Building From Multiple Source Directories
                 5.2.9.2.2                 Building Against a Standalone Library
             5.2.9.3             Building a Common Instantiation Library
     5.3     Useful Conventions
         5.3.1         Inline Functions
         5.3.2         Specializations
         5.3.3         Debugging Instantiations
         5.3.4         Linking Applications That Do Not Use Templates
     5.4     Manual Instantiation
         5.4.1         Using the /template_define Command-Line Option
         5.4.2         Similarities and Differences Between Instantiation Options
         5.4.3         Rules for Manually Instantiating Templates
Chapter 6
6 Handling C++ Exceptions
     6.1     Compiling with Exceptions
     6.2     Linking with Exceptions
     6.3     The /exceptions Qualifier
     6.4     The unexpected() and set_unexpected() Functions
     6.5     C++ Exceptions and Other OpenVMS Conditions
     6.6     C++ Exceptions and Signals
     6.7     C++ Exceptions with setjmp and longjmp
     6.8     C++ Exceptions, lib$establish and vaxc$establish
     6.9     Performance Considerations
     6.10     C++ Exceptions and Threads
     6.11     Debugging with C++ Exceptions
     6.12     Specification Conflicts
Chapter 7
7 The C++ Standard Library
     7.1     Important Compatibility Information
     7.2     How to Build Programs Using the C++ Standard Library
     7.3     Incompatibilities Between the Standard Library and the ANSI C++ Draft
     7.4     Standard Template Library
         7.4.1         Examples of Use
         7.4.2         Upgrading from the Nonstandard Compaq C++ Class Library
             7.4.2.1             Upgrading from the Compaq C++ Class Library Vector to the STL Vector
             7.4.2.2             Upgrading from the Compaq C++ Class Library Stack to the STL Stack
         7.4.3         Differences Between STL Tutorial and Reference Guide and the Compaq C++ STL
             7.4.3.1             Header File Names
             7.4.3.2             STL Run-Time Support
             7.4.3.3             Guide Examples Need to Be Modified
             7.4.3.4             Differences by Chapter
         7.4.4         Optional Switch to Control Buffering
     7.5     The basic_string Library
         7.5.1         The basic_string Member Functions
             7.5.1.1             Constructors/Destructors/Assignment
             7.5.1.2             Capacity
             7.5.1.3             Element access
             7.5.1.4             Modifiers
             7.5.1.5             Operations
             7.5.1.6             Iterators
         7.5.2         The basic_string Nonmember Functions
         7.5.3         The basic_string typedefs
         7.5.4         Upgrading from the Nonstandard Compaq C++ Class Library String Package
         7.5.5         Differences Between the basic_string Library and the Guide string Class
     7.6     Numeric Limits Class
         7.6.1         The numeric_limits Template Class
         7.6.2         Numeric Limits Class Member Functions
         7.6.3         Numeric Limits Class Data Members
         7.6.4         Numeric Limits Class Data Types
     7.7     The auto_ptr Class
         7.7.1         The auto_ptr Member Functions
     7.8     The Standard Exception Library
         7.8.1         Types of Standard Exceptions
         7.8.2         The exception Member Functions
         7.8.3         Derived Exception Classes
     7.9     The Complex Math Library
         7.9.1         Example of Use
         7.9.2         Complex Math Member Functions
         7.9.3         Complex Math Nonmember Functions
         7.9.4         Complex Math Nonmember Operators
         7.9.5         Complex Math Typedefs
         7.9.6         Unsafe Downcasts
         7.9.7         Upgrading from the Nonstandard Complex Math Library
     7.10     The Allocator Class
         7.10.1         Allocator Class Member Functions
         7.10.2         The allocator_interface Class
         7.10.3         The allocator_interface Member Functions
         7.10.4         Designing Customized Allocators
         7.10.5         Using Custom Allocators with Standard Library Containers
         7.10.6         Implementing Custom Containers that Use the Allocator


Previous Next Contents Index