MSL C++ Reference

1 Introduction

About the MSL C++ Library Reference Manual

2 17 C++ Library

Overview of the MSL C++ Reference
17.1 Definitions
17.2 Additional Definitions
17.3 Methods of Descriptions
17.3.1 Structure of each sub-clause
17.3.2 Other Conventions
17.4 Library-wide Requirements
17.4.1 Library contents and organization
17.4.2 Using the library
17.4.3 Constraints on programs
17.4.4 Conforming Implementations
17.4.4.8 Restrictions On Exception Handling
Features not implemented in MSL C++
Template Functionality
ANSI/ISO Library Functionality

3 18 Language Support Library

Overview of Language Support Library
18.1 Types
18.2 Implementation properties
18.2.1 Numeric limits
18.2.2 C Library
18.3 Start and termination
18.4 Dynamic Memory Management
18.4.1 Storage Allocation and Deallocation
18.4.1.2 Array Forms
18.4.1.3 Placement Forms
18.4.2 Storage Allocation Errors
18.5 Type identification
18.5.1 Class type_info
18.5.2 Class bad_cast
18.5.3 Class bad_typeid
18.6 Exception Handling
18.6.1 Class Exception
18.6.2 Violating Exception Specifications
18.6.3 Abnormal Termination
18.6.4 uncaught_exception
18.7 Other Runtime Support

4 19 Diagnostics Library

Overview of Diagnostics library
19.1 Exception Classes
19.1.1 Class Logic_error
19.1.2 Class domain_error
19.1.3 Class Invalid_argument
19.1.4 Class Length_error
19.1.5 Class Out_of_range
19.1.6 Class Runtime_error
19.1.7 Class Range_error
19.1.8 Class Overflow_error
19.1.9 Class Underflow_error
19.2 Assertions
19.3 Error Numbers

5 20 General Utilities Libraries

Overview of General utilities library
20.1 Requirements
20.1.1 Equality Comparisons
20.1.2 Less Than Comparison
20.1.3 Copy Construction
20.1.4 Default Construction
20.1.5 Allocator Requirements
20.2 Utility Components
20.2.1 Operators
20.2.2 Pairs
20.3 Function objects
20.3.1 Base
20.3.2 Arithmetic operations
20.3.3 Comparisons
20.3.4 Logical operations
20.3.5 Negators
20.3.6 Binders
20.3.7 Adaptors for Pointers to Functions
20.3.8 Adaptors for Pointers to Members
20.4 Memory
20.4.1 The default allocator
20.4.1.1 allocator members
20.4.1.2 allocator globals
20.4.2 Raw storage iterator
20.4.3 Temporary buffers
20.4.4 Specialized Algorithms
20.4.5 Template Class Auto_ptr
20.4.5.2 Auto_ptr Members
20.4.5.3 auto_ptr conversions
20.4.6 C Library
20.5 Date and Time

6 21 Strings Library

Overview of Strings Classes
21.1 Character traits
21.1.1 Character Trait Definitions
21.1.2 Character Trait Requirements
21.1.3 Character Trait Type Definitions
21.1.4 struct char_traits<T>
21.2 String Classes
21.3 Class Basic_string
21.3.1 Constructors and Assignments
21.3.2 Iterator Support
21.3.3 Capacity
21.3.4 Element Access
21.3.5 Modifiers
21.3.6 String Operations
23.3.7 Non-Member Functions and Operators
21.3.7.9 Inserters and extractors
23.4 Null Terminated Sequence Utilities

7 22 Localization Library

Overview of Localization library
22.1 Locales
22.1.1 Class locale
22.1.2 Locale Globals
22.1.3 Convenience Interfaces
22.2 Standard Locale Categories
22.2.1 The Ctype Category
22.2.2 The Numeric Category
22.2.3 The Numeric Punctuation Facet
22.2.4 The Collate Category
22.2.5 The Time Category
22.2.6 The Monetary Category
22.2.7 The Message Retrieval Category
22.2.8 Program-defined Facets
22.3 C Library Locales

8 23 Containers Library

Overview of Containers library
23.1 Container Requirements
23.1.1 Sequences Requirements
23.1.2 Associative Containers Requirements
23.2 Sequences
23.2.1 Template Class Deque
23.2.2 Template Class List
23.2.3 Container adaptors
23.2.3.1 Template Class Queue
23.2.3.2 Template Class Priority_queue
23.2.3.3 Template Class Stack
23.2.4 Template Class Vector
23.2.5 Class Vector<bool>
23.3 Associative Containers
23.3.1 Template Class Map
23.3.2 Template Class Multimap
23.3.3 Template Class Set
23.3.4 Template Class Multiset
23.3.5 Template Class Bitset
Template Class Bitset

9 24 Iterators Library

Overview of Iterators library
24.1 Requirements
24.1.1 Input Iterators
24.1.2 Output Iterators
24.1.3 Forward Iterators
24.1.4 Bidirectional Iterators
24.1.5 Random Access Iterators
24.2 Header <iterator>
24.3 Iterator Primitives
24.3.1 Iterator Traits
24.3.2 Basic Iterator
24.3.3 Standard Iterator Tags
24.4 Predefined Iterators
24.4.1 Reverse iterators
24.4.2 Insert Iterators
24.5 Stream Iterators
24.5.1 Template Class Istream_iterator
24.5.2 Template Class Ostream_iterator
24.5.3 Template Class Istreambuf_iterator
24.5.4 Template Class Ostreambuf_iterator

10 25 Algorithms Library

Overview of Algorithms Library
Header <algorithm>
25.1 Non-modifying Sequence Operations
25.2 Mutating Sequence Operators
25.3 Sorting And Related Operations
25.4 C library algorithms

11 26 Numerics Library

Overview of Numerics Library
26.1 Numeric type requirements
26.2 Complex Class Library
_MSL_CX_LIMITED_RANGE
Header <complex>
26.2.3 Complex Specializations
Complex Template Class
Constructors and Assignments
Complex Member Functions
Operators
Overloaded Operators and Functions
Complex Operators
Complex Value Operations
Complex Transcendentals
26.3 Numeric arrays
26.3.1 Header <valarray>
26.3.2 Template Class Valarray
26.3.3 Valarray Non-member Operations
26.3.4 Class slice
26.3.5 Template Class Slice_array
26.3.6 Class Gslice
26.3.7 Template Class Gslice_array
26.3.8 Template Class Mask_array
26.3.9 Template Class Indirect_array
26.4 Generalized Numeric Operations
Header <numeric>
26.5 C Library
<cmath>
<cstdlib>

12 27.1 Input and Output Library

Overview of Input and Output Library
Input and Output Library Summary
27.1 Iostreams requirements
27.1.1 Definitions
27.1.2 Type requirements
27.1.2.5 Type SZ_T

13 27.2 Forward Declarations

Overview of Streams and String Forward Declarations.
Header <iosfwd>
Header <stringfwd>

14 27.3 Standard Iostream Objects

Overview of Standard Input and Output Stream Objects.
Header <iostream>
Stream Buffering
27.3.1 Narrow stream objects
27.3.2 Wide stream objects

15 27.4 Iostreams Base Classes

Overview of Input and Output Stream Base Classes
Header <ios>
Template Class fpos
27.4.1 Typedef Declarations
27.4.2 Class ios_base
27.4.3.1 Typedef Declarations
27.4.3.1.1 failure
27.4.3.1.1.1 failure
failure::what
27.4.3.1.2 Type fmtflags
27.4.3.1.3 Type iostate
27.4.3.1.4 Type openmode
27.4.3.1.5 Type seekdir
27.4.3.1.6 Class Init
Class Init Constructor
27.4.3.2 ios_base fmtflags state functions
flags
setf
unsetf
precision
width
27.4.3.3 ios_base locale functions
imbue
getloc
27.4.3.4 ios_base storage function
xalloc
iword
pword
register_callback
sync_with_stdio
27.4.3.5 ios_base Constructor
27.4.4 Template class basic_ios
27.4.4.1 basic_ios Constructor
27.4.4.2 Member Functions
tie
rdbuf
imbue
fill
copyfmt
27.4.4.3 basic_ios iostate flags functions
operator bool
operator !
rdstate
clear
setstate
good
eof
fail
bad
exceptions
27.4.5 ios_base manipulators
27.4.5.1 fmtflags manipulators
27.4.5.2 adjustfield manipulators
27.4.5.3 basefield manipulators
27.4.5.4 floatfield manipulators
Overloading Manipulators

16 27.5 Stream Buffers

Overview of Stream Buffers
Header <streambuf>
27.5.1 Stream buffer requirements
27.5.2 Template class basic_streambuf<charT, traits>
27.5.2.1 basic_streambuf Constructor
27.5.2.2 basic_streambuf Public Member Functions
27.5.2.2.1 Locales
basic_streambuf::pubimbue
basic_streambuf::getloc
27.5.2.2.2 Buffer Management and Positioning
basic_streambuf::pubsetbuf
basic_streambuf::pubseekoff
basic_streambuf::pubseekpos
basic_streambuf::pubsync
27.5.2.2.3 Get Area
basic_streambuf::in_avail
basic_streambuf::snextc
basic_streambuf::sbumpc
basic_streambuf::sgetc
basic_streambuf::sgetn
27.5.2.2.4 Putback
basic_streambuf::sputback
basic_streambuf::sungetc
27.5.2.2.5 Put Area
basic_streambuf::sputc
basic_streambuf::sputn
27.5.2.3 basic_streambuf Protected Member Functions
27.5.2.3.1 Get Area Access
basic_streambuf::eback
basic_streambuf::gptr
basic_streambuf::egptr
basic_streambuf::gbump
basic_streambuf::setg
27.5.2.3.2 Put Area Access
basic_streambuf::pbase
basic_streambuf::pptr
basic_streambuf::epptr
basic_streambuf::pbump
basic_streambuf::setp
27.5.2.4 basic_streambuf Virtual Functions
27.5.2.4.1 Locales
basic_streambuf::imbue
27.5.2.4.2 Buffer Management and Positioning
basic_streambuf::setbuf
basic_streambuf::seekoff
basic_streambuf::seekpos
basic_streambuf::sync
27.5.2.4.3 Get Area
basic_streambuf::showmanc
basic_streambuf::xsgetn
basic_streambuf::underflow
basic_streambuf::uflow
27.5.2.4.4 Putback
basic_streambuf::pbackfail
27.5.2.4.5 Put Area
basic_streambuf::xsputn
basic_streambuf::overflow

17 27.6 Formatting And Manipulators

Overview of Formatting and Manipulators
Headers
Header <istream>
Header <ostream>
Header <iomanip>
27.6.1 Input Streams
27.6.1.1 Template class basic_istream
27.6.1.1.1 basic_istream Constructors
27.6.1.1.2 Class basic_istream::sentry
Class basic_istream::sentry Constructor
sentry::Operator bool
27.6.1.2 Formatted input functions
27.6.1.2.1 Common requirements
27.6.1.2.2 Arithmetic Extractors Operator >>
27.6.1.2.3 basic_istream extractor operator >>
Overloading Extractors:
27.6.1.3 Unformatted input functions
basic_istream::gcount
basic_istream::get
basic_istream::getline
basic_istream::ignore
basic_istream::peek
basic_istream::read
basic_istream::readsome
basic_istream::putback
basic_istream::unget
basic_istream::sync
basic_istream::tellg
basic_istream::seekg
27.6.1.4 Standard basic_istream manipulators
basic_ifstream::ws
27.6.1.4.1 basic_iostream Constructor
27.6.2 Output streams
27.6.2.1 Template class basic_ostream
27.6.2.2 basic_ostream Constructor
27.6.2.3 Class basic_ostream::sentry
Class basic_ostream::sentry Constructor
sentry::Operator bool
27.6.2.4 Formatted output functions
27.6.2.4.1 Common requirements
27.6.2.4.2 Arithmetic Inserter Operator <<
27.6.2.4.3 basic_ostream::operator<<
Overloading Inserters
27.6.2.5 Unformatted output functions
basic_ostream::tellp
basic_ostream::seekp
basic_ostream::put
basic_ostream::write
basic_ostream::flush
27.6.2.6 Standard basic_ostream manipulators
basic_ostream:: endl
basic_ostream::ends
basic_ostream::flush
27.6.3 Standard manipulators
Standard Manipulator Instantiations
resetiosflags
setiosflags
:setbase
setfill
setprecision
setw
Overloaded Manipulator

18 27.7 String Based Streams

Overview of String Based Stream Classes
Header <sstream>
27.7.1 Template class basic_stringbuf.
27.7.1.1 basic_stringbuf constructors
27.7.1.2 Member functions
basic_stringbuf::str
27.7.1.3 Overridden virtual functions
basic_stringbuf::underflow
basic_stringbuf::pbackfail
basic_stringbuf::overflow
basic_stringbuf::seekoff
basic_stringbuf::seekpos
27.7.2 Template class basic_istringstream
27.7.2.1 basic_istringstream constructors
27.7.2.2 Member functions
basic_istringstream::rdbuf
basic_istringstream::str
27.7.2.3 Class basic_ostringstream
27.7.2.4 basic_ostringstream constructors.
27.7.2.5 Member functions
basic_ostringstream::rdbuf
basic_ostringstream::str
27.7.3 Class basic_stringstream
27.7.3.4 basic_stringstream constructors
27.7.3.5 Member functions
basic_stringstream::rdbuf
basic_stringstream::str

19 27.8 File Based Streams

Overview of File Based Streams
Header <fstream>
27.8.1 File streams
27.8.1.1 Template class basic_filebuf
27.8.1.2 basic_filebuf Constructors
27.8.1.3 Member functions
basic_filebuf::is_open
basic_filebuf::open
basic_filebuf::close
27.8.1.4 Overridden virtual functions
basic_filebuf::showmanyc
basic_filebuf::underflow
basic_filebuf::pbackfail
basic_filebuf::overflow
basic_filebuf::seekoff
basic_filebuf::seekpos
basic_filebuf::setbuf
basic_filebuf::sync
basic_filebuf::imbue
27.8.1.5 Template class basic_ifstream
27.8.1.6 basic_ifstream Constructor
27.8.1.7 Member functions
basic_ifstream::rdbuf
basic_ifstream::is_open
basic_ifstream::open
basic_ifstream::close
27.8.1.8 Template class basic_ofstream
27.8.1.9 basic_ofstream constructor
27.8.1.10 Member functions
basic_ofstream::rdbuf
basic_ofstream::is_open
basic_ofstream::open
basic_ofstream::close
27.8.1.11 Template class basic_fstream
27.8.1.12 basic_fstream Constructor
27.8.1.13 Member Functions
basic_fstream::rdbuf
basic_fstream::is_open
basic_fstream::open
basic_fstream::close

20 C Library files

27.8.2 C Library files
<cstdio> Macros
<cstdio> Types
<cstdio> Functions

21 Annex D Strstream

Overview of Strstream Classes
Header <strstream>
Strstreambuf Class
Strstreambuf constructors and Destructors
Strstreambuf Public Member Functions
freeze
pcount
str
Protected Virtual Member Functions
setbuf
seekoff
seekpos
underflow
pbackfail
overflow
Istrstream Class
Constructors and Destructor
Constructors
Destructor
Public Member Functions
rdbuf
str
Ostrstream Class
Constructors and Destructor
Constructors
Destructor
Public Member Functions
freeze
pcount
rdbuf
str
Strstream Class
Strstream Types
Constructors and Destructor
Constructors
Destructor
Public Member Functions
freeze
pcount
rdbuf
str

22 Mutex.h

Overview of Mutex Support Library
Header <Mutex.h>
Mutex
Mutex_lock

23 MSL Utiliity

Overview of MSL Utilities
The <msl_utlity> Header
Basic Compile-Time Transformations
Type Query
CV Query
Type Classification
POD classification
Miscellaneous

24 Hash Libraries

Overview of Hash Containers
General Hash Issues
Introduction
Namespace Issues
Fully Qualified Reference:
Namespace Alias
Using Declaration
Using Directive
Compatibility Headers
Constructors
Iterator Issues
Capacity
Insert For Unique Hashed Containers
Insert For Multi Hashed Containers
Incompatibility with Previous versions Metrowerks Hash Containers
Hash_set
Introduction.
Old Hashset Headers
Template Parameters
Nested Types
Iterator Issues
hash_set
Hash_map
Introduction
Old Hashmap Headers
Template Parameters
Nested Types
Iterator Issues
Hash_fun

25 <mslconfig>

Overview of the C++ Switches, Flags and Defines
_CSTD
_Inhibit_Container_Optimization
_Inhibit_Optimize_RB_bit
_MSL_ARRAY_AUTO_PTR
__MSL_CPP__
_MSL_EXTENDED_BINDERS
_MSL_EXTENDED_PRECISION_OUTP
_MSL_FORCE_ENABLE_BOOL_SUPPORT
_MSL_FORCE_ENUMS_ALWAYS_INT
_MSL_IMP_EXP
__MSL_LONGLONG_SUPPORT__
_MSL_NO_BOOL
_MSL_NO_CPP_NAMESPACE
_MSL_NO_EXCEPTIONS
_MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
_MSL_NO_IO
_MSL_NO_LOCALE
_MSL_NO_REFCOUNT_STRING
_MSL_USE_AUTO_PTR_96
_MSL_NO_VECTOR_BOOL
_MSL_NO_WCHART
_STD

Index



Visit the Metrowerks website at: http://www.metrowerks.com
For assistance contact Metrowerks Technical Support at: cw_support@metrowerks.com
Copyright © 2000, Metrowerks Corp. All rights reserved.

Last updated: July 21, 2000