デフォルトモード (標準モード) のコンパイルでは、コンパイラは C++ 標準で指定されている完全なライブラリにアクセスします。このライブラリには、非公式に「標準テンプレートライブラリ」 (STL) と呼ばれているものに加えて、次の要素が含まれています。
文字列クラス
数値クラス
標準のストリーム入出力クラス
基本的なメモリー割り当て
例外クラス
実行時の型識別 (RTTI)
STL は公式なものではありませんが、一般的にはコンテナ、反復子、アルゴリズムから構成されます。標準ライブラリのヘッダーのうち、次のものを STL の構成要素と見なすことができます。
<algorithm>
<deque>
<iterator>
<list>
<map>
<memory>
<queue>
<set>
<stack>
<utility>
<vector>
C++ 標準ライブラリ (libCstd) は、RogueWave 標準 C++ ライブラリ、Version 2 に基づいています。このライブラリは、コンパイラのデフォルトモード (-compat=5) でのみ使用でき、-compat[=4] オプションと組み合わせた使用はサポートされていません。
また、C++ コンパイラで、STLport の標準ライブラリの Version 4.5.3 がサポートされました。libCstd がデフォルトのライブラリですが、代わりに STLport の製品を使用できるようになりました。詳細は、「12.3 STLport」を参照してください。
コンパイラに付属している C++ 標準ライブラリの代わりに、独自の C++ 標準ライブラリを使用できます。その場合は、-library=no%Cstd オプションを使用します。ただし、コンパイラに添付された標準ライブラリを置き換えることは危険で、必ずしもよい結果につながるわけではありません。詳細は、「11.7 C++ 標準ライブラリの置き換え」を参照してください。
標準ライブラリの詳細については、『標準 C++ ライブラリユーザーズガイド』と『Standard C++ Class Library Reference』を参照してください。
標準ライブラリのヘッダーとその概要は表 12–1 に一覧表示します。
表 12–1 C++ 標準ライブラリのヘッダーファイル| ヘッダーファイル | 内容の説明 | 
|---|---|
| <algorithm> | コンテナ操作のための標準アルゴリズム | 
| <bitset> | 固定長のビットシーケンス | 
| <complex> | 複素数を表す数値型 | 
| <deque> | 先頭と末尾の両方で挿入と削除が可能なシーケンス | 
| <exception> | 事前定義済み例外クラス | 
| <fstream> | ファイルとのストリーム入出力 | 
| <functional> | 関数オブジェクト | 
| <iomanip> | iostream のマニピュレータ | 
| <ios> | iostream の基底クラス | 
| <iosfwd> | iostream クラスの先行宣言 | 
| <iostream> | 基本的なストリーム入出力機能 | 
| <istream> | 入力ストリーム | 
| <iterator> | シーケンスの内容にくまなくアクセスするためのクラス | 
| <limits> | 数値型の属性 | 
| <list> | 順序付きシーケンス | 
| <locale> | 国際化のサポート | 
| <map> | キーと値を対にして使用する連想コンテナ | 
| <memory> | 特殊なメモリーアロケータ | 
| <new> | 基本的なメモリー割り当てと解放 | 
| <numeric> | 汎用の数値演算 | 
| <ostream> | 出力ストリーム | 
| <queue> | 先頭への挿入と末尾からの削除が可能なシーケンス | 
| <set> | 一意キーを使用する連想コンテナ | 
| <sstream> | メモリー上の文字列との入出力ストリーム | 
| <stack> | 先頭への挿入と先頭からの削除が可能なシーケンス | 
| <stdexcept> | 追加標準例外クラス | 
| <streambuf> | iostream 用のバッファークラス | 
| <string> | 文字シーケンス | 
| <typeinfo> | 実行時の型識別 | 
| <utility> | 比較演算子 | 
| <valarray> | 数値プログラミング用の値配列 | 
| <vector> | ランダムアクセスが可能なシーケンス | 
標準ライブラリの個々の構成要素のドキュメントページを表 12–2 に一覧表示します。
表 12–2 C++ 標準ライブラリのマニュアルページ| マニュアルページ | 概要 | 
|---|---|
| Algorithms | コンテナとシーケンスに各種処理を行うための汎用アルゴリズム | 
| Associative_Containers | 特定の順序で並んだコンテナ | 
| Bidirectional_Iterators | 読み書きの両方が可能で、順方向、逆方向にコンテナをたどることができる反復子 | 
| Containers | 標準テンプレートライブラリ (STL) コレクション | 
| Forward_Iterators | 読み書きの両方が可能な順方向反復子 | 
| Function_Objects | operator() が定義済みのオブジェクト | 
| Heap_Operations | make_heap、pop_heap、push_heap、sort_heap を参照 | 
| Input_Iterators | 読み取り専用の順方向反復子 | 
| Insert_Iterators | 反復子がコンテナ内の要素を上書きせずにコンテナに挿入することを可能にする、反復子アダプタ | 
| Iterators | コレクションをたどったり、変更したりするためのポインタ汎用化機能 | 
| Negators | 述語関数オブジェクトの意味を逆にするための関数アダプタと関数オブジェクト | 
| Operators | C++ 標準テンプレートライブラリ出力用の演算子 | 
| Output_Iterators | 書き込み専用の順方向反復子 | 
| Predicates | ブール値 (真偽) または整数値を返す関数または関数オブジェクト | 
| Random_Access_Iterators | コンテナの読み取りと書き込みをして、コンテナにランダムアクセスすることを可能にする反復子 | 
| Sequences | 一群のシーケンスをまとめたコンテナ | 
| Stream_Iterators | 汎用アルゴリズムをストリームに直接に使用することを可能にする、ostream と istream 用の反復子機能を含む | 
| __distance_type | 反復子が使用する距離のタイプを決定する (廃止予定) | 
| __iterator_category | 反復子が属するカテゴリを決定する (廃止予定) | 
| __reverse_bi_iterator | コレクションを逆方向にたどる反復子 | 
| accumulate | 1 つの範囲内のすべての要素の累積値を求める | 
| adjacent_difference | 1 つの範囲内の隣り合う 2 つの要素の差のシーケンスを出力する | 
| adjacent_find | シーケンスから、等しい値を持つ最初の 2 つの要素を検出する | 
| advance | 特定の距離で、順方向または逆方向 (使用可能な場合) に反復子を移動する | 
| allocator | 標準ライブラリコンテナ内の記憶管理用のデフォルトの割り当てオブジェクト | 
| auto_ptr | 単純でスマートなポインタクラス | 
| back_insert_iterator | コレクションの末尾への項目の挿入に使用する挿入反復子 | 
| back_inserter | コレクションの末尾への項目の挿入に使用する挿入反復子 | 
| basic_filebuf | 入力または出力シーケンスをファイルに関連付ける | 
| basic_fstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスに対する読み書きをサポートする | 
| basic_ifstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスからの読み取りをサポートする | 
| basic_ios | すべてのストリームが共通に必要とする関数を取り込む基底クラス | 
| basic_iostream | ストリームバッファーが制御する文字シーケンスの書式設定と解釈をサポートする | 
| basic_istream | ストリームバッファーが制御する文字シーケンスからの入力の読み取りと解釈をサポートする | 
| basic_istringstream | メモリー上の配列から basic_string<charT,traits,Allocator> クラスのオブジェクトの読み取りをサポートする | 
| basic_ofstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスへの書き込みをサポートする | 
| basic_ostream | ストリームバッファーが制御するシーケンスに対する出力の書式設定と書き込みをサポートする | 
| basic_ostringstream | basic_string<charT,traits,Allocator> クラスのオブジェクトの書き込みをサポートする | 
| basic_streambuf | 各種のストリームバッファーを派生させて、文字シーケンスを制御しやすいようにする抽象基底クラス | 
| basic_string | 文字に似た要素シーケンスを処理するためのテンプレート化されたクラス | 
| basic_stringbuf | 入力または出力シーケンスを任意の文字シーケンスに関連付ける | 
| basic_stringstream | メモリー上の配列への basic_string<charT,traits,Allocator> クラスのオブジェクトの書き込みと読み取りをサポートする | 
| binary_function | 2 項関数オブジェクトを作成するための基底クラス | 
| binary_negate | 2 項判定子の結果の補数を返す関数オブジェクト | 
| binary_search | コンテナ上の値について 2 等分検索を行う | 
| bind1st | 関数オブジェクトに値を結合するためのテンプレート化されたユーティリティー | 
| bind2nd | 関数オブジェクトに値を結合するためのテンプレート化されたユーティリティー | 
| binder1st | 関数オブジェクトに値を結合するためのテンプレート化されたユーティリティー | 
| binder2nd | 関数オブジェクトに値を結合するためのテンプレート化されたユーティリティー | 
| bitset | 固定長のビットシーケンスを格納、操作するためのテンプレートクラスと関数 | 
| cerr | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたバッファリングしていないストリームバッファーに対する出力を制御する | 
| char_traits | basic_string コンテナと iostream クラス用の型と演算を持つ特性 (traits) クラス | 
| cin | <cstdio> で宣言されたオブジェクトの stdin に関連付けられたストリームバッファーからの入力を制御する | 
| clog | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたストリームバッファーに対する出力を制御する | 
| codecvt | コード変換ファセット | 
| codecvt_byname | 指定ロケールに基づいたコードセット変換分類機能を含むファセット | 
| collate | 文字列照合、比較、ハッシュファセット | 
| collate_byname | 文字列照合、比較、ハッシュファセット | 
| compare | 真または偽を返す 2 項関数または関数オブジェクト | 
| complex | C++ 複素数ライブラリ | 
| copy | ある範囲の要素をコピーする | 
| copy_backward | ある範囲の要素をコピーする | 
| count | 指定条件を満たすコンテナ内の要素の個数をカウントする | 
| count_if | 指定条件を満たすコンテナ内の要素の個数をカウントする | 
| cout | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたストリームバッファーに対する出力を制御する | 
| ctype | 文字分類機能を取り込むファセット | 
| ctype_byname | 指定ロケールに基づいた文字分類機能を含むファセット | 
| deque | ランダムアクセス反復子と、先頭および末尾の両方での効率的な挿入と削除をサポートするシーケンス | 
| distance | 2 つの反復子間の距離を求める | 
| divides | 1 つ目の引数を 2 つ目の引数で除算した結果を返す | 
| equal | 2 つのある範囲が等しいかどうか比較する | 
| equal_range | 並べ替えの順序を崩さずに値を挿入できる最大の二次範囲をコレクションから検出する | 
| equal_to | 1 つ目と 2 つ目の引数が等しい場合に真を返す 2 項関数オブジェクト | 
| 例外 | 倫理エラーと実行時エラーをサポートするクラス | 
| facets | 複数種類のロケール機能をカプセル化するために使用するクラス群 | 
| filebuf | 入力または出力シーケンスをファイルに関連付ける | 
| fill | 指定された値である範囲を初期化する | 
| fill_n | 指定された値である範囲を初期化する | 
| find | シーケンスから値に一致するものを検出する | 
| find_end | シーケンスからサブシーケンスに最後に一致するものを検出する | 
| find_first_of | シーケンスから、別のシーケンスの任意の値に一致するものを検出する | 
| find_if | シーケンスから指定された判定子を満たす値に一致するものを検出する | 
| for_each | ある範囲のすべての要素に関数を適用する | 
| fpos | iostream クラスの位置情報を保持する | 
| front_insert_iterator | コレクションの先頭に項目を挿入するための挿入反復子 | 
| front_inserter | コレクションの先頭に項目を挿入するための挿入反復子 | 
| fstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスに対する読み書きをサポートする | 
| generate | 値生成クラスによって生成された値でコンテナを初期化する | 
| generate_n | 値生成クラスによって生成された値でコンテナを初期化する | 
| get_temporary_buffer | メモリーを処理するためのポインタベースのプリミティブ | 
| greater | 1 つ目の引数が 2 つ目の引数より大きい場合に真を返す 2 項関数オブジェクト | 
| greater_equal | 1 つ目の引数が 2 つ目の引数より大きいか等しい場合に真を返す 2 項関数オブジェクト | 
| gslice | 配列から汎用化されたスライスを表現するために使用される数値配列クラス | 
| gslice_array | valarray から BLAS に似たスライスを表現するために使用される数値配列クラス | 
| has_facet | ロケールに指定ファセットがあるかどうかを判定するための関数テンプレート | 
| ifstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスからの読み取りをサポートする | 
| includes | ソートされたシーケンスに対する基本演算セット | 
| indirect_array | valarray から選択された要素の表現に使用される数値配列クラス | 
| inner_product | 2 つの範囲 A および B の内積 (A × B) を求める | 
| inplace_merge | ソートされた 2 つのシーケンスを 1 つにマージする | 
| insert_iterator | コレクションを上書きせずにコレクションに項目を挿入するときに使用する挿入反復子 | 
| inserter | コレクションを上書きせずにコレクションに項目を挿入するときに使用する挿入反復子 | 
| ios | すべてのストリームが共通に必要とする関数を取り込む基底クラス | 
| ios_base | メンバーの型を定義して、そのメンバーから継承するクラスのデータを保持する | 
| iosfwd | 入出力ライブラリテンプレートクラスを宣言し、そのクラスを wide および tiny 型文字専用にする | 
| isalnum | 文字が英字または数字のどちらであるかを判定する | 
| isalpha | 文字が英字であるかどうかを判定する | 
| iscntrl | 文字が制御文字であるかどうかを判定する | 
| isdigit | 文字が 10 進数であるかどうかを判定する | 
| isgraph | 文字が図形文字であるかどうかを判定する | 
| islower | 文字が英小文字であるかどうかを判定する | 
| isprint | 文字が印刷可能かどうかを判定する | 
| ispunct | 文字が区切り文字であるかどうかを判定する | 
| isspace | 文字が空白文字であるかどうかを判定する | 
| istream | ストリームバッファーが制御する文字シーケンスからの入力の読み取りと解釈をサポートする | 
| istream_iterator | istream に対する反復子機能を持つストリーム反復子 | 
| istreambuf_iterator | 作成元のストリームバッファーから連続する文字を読み取る | 
| istringstream | メモリー上の配列からの basic_string<charT,traits,Alocator> クラスのオブジェクトの読み取りをサポートする | 
| istrstream | メモリー上の配列から文字を読み取る | 
| isupper | 文字が英大文字であるかどうかを判定する | 
| isxdigit | 文字が 16 進数であるかどうかを判定する | 
| iter_swap | 2 つの位置の値を交換する | 
| iterator | 基底反復子クラス | 
| iterator_traits | 反復子に関する基本的な情報を返す | 
| less | 1 つ目の引数が 2 つ目の引数より小さい場合に真を返す 2 項関数オブジェクト | 
| less_equal | 1 つ目の引数が 2 つ目の引数より小さいか、等しい場合に真を返す 2 項関数オブジェクト | 
| lexicographical_compare | 2 つの範囲を辞書式に比較する | 
| limits | numeric_limits セクションを参照 | 
| list | 双方向反復子をサポートするシーケンス | 
| ロケール | 多相性を持つ複数のファセットからなるローカリゼーションクラス | 
| logical_and | 1 つ目の 2 つ目の引数が等しい場合に真を返す場合に 2 項関数オブジェクト | 
| logical_not | 引数が偽の場合に真を返す単項関数オブジェクト | 
| logical_or | 引数のいずれかが真の場合に真を返す 2 項関数オブジェクト | 
| lower_bound | ソートされたコンテナ内の最初に有効な要素位置を求める | 
| make_heap | ヒープを作成する | 
| map | 一意のキーを使用してキー以外の値にアクセスする連想コンテナ | 
| mask_array | valarray の選別ビューを提供する数値配列クラス | 
| max | 2 つの値の大きい方の値を検出して返す | 
| max_element | 1 つの範囲内の最大値を検出する | 
| mem_fun | 大域関数の代わりとしてポインタをメンバー関数に適合させる関数オブジェクト | 
| mem_fun1 | 大域関数の代わりとしてポインタをメンバー関数に適合させる関数オブジェクト | 
| mem_fun_ref | 大域関数の代わりとしてポインタをメンバー関数に適合させる関数オブジェクト | 
| mem_fun_ref1 | 大域関数の代わりとしてポインタをメンバー関数に適合させる関数オブジェクト | 
| merge | ソートされた 2 つのシーケンスをマージして、3 つ目のシーケンスを作成する | 
| messages | メッセージ伝達ファセット | 
| messages_byname | メッセージ伝達ファセット | 
| min | 2 つの値の小さい方の値を検出して返す | 
| min_element | 1 つの範囲内の最小値を検出する | 
| minus | 1 つ目の引数から 2 つ目の引数を減算した結果を返す | 
| mismatch | 2 つのシーケンスの要素を比較して、互いに値が一致しない最初の 2 つの要素を返す | 
| modulus | 1 つ目の引数を 2 つ目の引数で除算することによって得られた余りを返す | 
| money_get | 入力に対する通貨書式設定ファセット | 
| money_put | 出力に対する通貨書式設定ファセット | 
| moneypunct | 通貨句読文字ファセット | 
| moneypunct_byname | 通貨句読文字ファセット | 
| multimap | キーを使用してコンテナキーでない値にアクセスするための連想コンテナ | 
| multiplies | 1 つ目と 2 つ目の引数を乗算した結果を返す 2 項関数オブジェクト | 
| multiset | 格納済みのキー値に高速アクセスするための連想コンテナ | 
| negate | 引数の否定値を返す単項関数オブジェクト | 
| next_permutation | 並べ替え関数に基づいてシーケンスの内容を連続的に入れ替えたものを生成する | 
| not1 | 単項述語関数オブジェクトの意味を逆にするための関数アダプタ | 
| not2 | 単項述語関数オブジェクトの意味を逆にするための関数アダプタ | 
| not_equal_to | 1 つ目の引数が 2 つ目の引数と等しくない場合に真を返す 2 項関数オブジェクト | 
| nth_element | コレクションを再編して、ソートで n 番目の要素よりあとになった全要素をその要素より前に、n 番目の要素より前の全要素をその要素より後ろにくるようにする | 
| num_get | 入力に対する書式設定ファセット | 
| num_put | 出力に対する書式設定ファセット | 
| numeric_limits | スカラー型に関する情報を表すためのクラス | 
| numpunct | 数値句読文字ファセット | 
| numpunct_byname | 数値句読文字ファセット | 
| ofstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスへの書き込みをサポートする | 
| ostream | ストリームバッファーが制御するシーケンスに対する出力の書式設定と書き込みをサポートする | 
| ostream_iterator | ostream と istream に反復子を使用可能にするストリーム反復子 | 
| ostreambuf_iterator | 作成元のストリームバッファーに連続する文字を書き込む | 
| ostringstream | basic_string<charT,traits,Allocator> クラスのオブジェクトの書き込みをサポートする | 
| ostrstream | メモリー上の配列に書き込みを行う | 
| pair | 異種の値の組み合わせ用テンプレート | 
| partial_sort | エンティティーのコレクションをソートするためのテンプレート化されたアルゴリズム | 
| partial_sort_copy | エンティティーのコレクションをソートするためのテンプレート化されたアルゴリズム | 
| partial_sum | ある範囲の値の連続した部分小計を求める | 
| partition | 指定述語を満たす全エンティティーを、満たさない全エンティティーの前に書き込む | 
| permutation | 並べ替え関数に基づいてシーケンスの内容を連続的に入れ替えたものを生成する | 
| plus | 1 つ目と 2 つ目の引数を加算した結果を返す 2 項関数オブジェクト | 
| pointer_to_binary_function | binary_function の代わりとしてポインタを 2 項関数に適用する関数オブジェクト | 
| pointer_to_unary_function | unary_function の代わりとしてポインタを関数に適用する関数オブジェクトクラス | 
| pop_heap | ヒープの外に最大要素を移動する | 
| prev_permutation | 並べ替え関数に基づいてシーケンスの内容を連続的に入れ替えたものを生成する | 
| priority_queue | 優先順位付きの待ち行列のように振る舞うコンテナアダプタ | 
| ptr_fun | 関数の代わりとしてポインタを関数に適用するときに多重定義される関数 | 
| push_heap | ヒープに新しい要素を書き込む | 
| queue | 先入れ先出しの待ち行列のように振る舞うコンテナアダプタ | 
| random_shuffle | コレクションの要素を無作為にシャッフルする | 
| raw_storage_iterator | 反復子ベースのアルゴリズムが初期化されていないメモリーに結果を書き込めるようにする | 
| remove | 目的の要素をコンテナの先頭に移動し、目的の要素シーケンスの終了位置を表す反復子を返す | 
| remove_copy | 目的の要素をコンテナの先頭に移動し、目的の要素シーケンスの終了位置を表す反復子を返す | 
| remove_copy_if | 目的の要素をコンテナの先頭に移動し、目的の要素シーケンスの終了位置を表す反復子を返す | 
| remove_if | 目的の要素をコンテナの先頭に移動し、目的の要素シーケンスの終了位置を表す反復子を返す | 
| replace | コレクション内の要素の値を置換する | 
| replace_copy | コレクション内の要素の値を置換して、置換後のシーケンスを結果に移動する | 
| replace_copy_if | コレクション内の要素の値を置換して、置換後のシーケンスを結果に移動する | 
| replace_if | コレクション内の要素の値を置換する | 
| return_temporary_buffer | メモリーを処理するためのポインタベースのプリミティブ | 
| reverse | コレクション内の要素を逆順にする | 
| reverse_copy | コレクション内の要素を逆順にしながら、その結果を新しいコレクションにコピーする | 
| reverse_iterator | コレクションを逆方向にたどる反復子 | 
| rotate | 先頭から中央直前の要素までのセグメントと中央から末尾までの要素のセグメントを交換する | 
| rotate_copy | 先頭から中央直前の要素までのセグメントと中央から末尾までの要素のセグメントを交換する | 
| search | 値シーケンスから、要素単位で指定範囲の値に等しいサブシーケンスを検出する | 
| search_n | 値シーケンスから、要素単位で指定範囲の値に等しいサブシーケンスを検出する | 
| set | 一意のキーを扱う連想コンテナ | 
| set_difference | ソートされた差を作成する基本的な集合演算 | 
| set_intersection | ソートされた積集合を作成する基本的な集合演算 | 
| set_symmetric_difference | ソートされた対称差を作成する基本的な集合演算 | 
| set_union | ソートされた和集合を作成する基本的な集合演算 | 
| slice | 配列の BLAS に似たスライスを表す数値配列クラス | 
| slice_array | valarray の BLAS に似たスライスを表す数値配列クラス | 
| smanip | パラメータ化されたマニピュレータを実装するときに使用する補助クラス | 
| smanip_fill | パラメータ化されたマニピュレータを実装するときに使用する補助クラス | 
| sort | エンティティーのコレクションをソートするためのテンプレート化されたアルゴリズム | 
| sort_heap | ヒープをソートされたコレクションに変換する | 
| stable_partition | 各グループ内の要素の相対的な順序を保持しながら、指定判定子を満たす全エンティティーを満たさない全エンティティーの前に書き込む | 
| stable_sort | エンティティーのコレクションをソートするためのテンプレート化されたアルゴリズム | 
| stack | 先入れ先出しのスタックのように振る舞うコンテナアダプタ | 
| streambuf | 各種のストリームバッファーを派生させて、文字シーケンスを制御しやすいようにする抽象基底クラス | 
| string | basic_string<char、char_traits<char>、allocator<char>> 用の型定義 | 
| stringbuf | 入力または出力シーケンスを任意の文字シーケンスに関連付ける | 
| stringstream | メモリー上の配列上の basic_string<charT,traits,Alocator> クラスのオブジェクトの書き込みおよび読み取りをサポートする | 
| strstream | メモリー上の配列に対する読み取りと書き込みを行う | 
| strstreambuf | 入力または出力シーケンスを、要素が任意の値を格納する超小型の文字配列に関連付ける | 
| swap | 値を交換する | 
| swap_ranges | ある位置の値の範囲を別の位置の値と交換する | 
| time_get | 入力に対する時刻書式設定ファセット | 
| time_get_byname | 指定ロケールに基づいた、入力に対する時刻書式設定ファセット | 
| time_put | 入力に対する時刻書式設定ファセット | 
| time_put_byname | 指定ロケールに基づいた、入力に対する時刻書式設定ファセット | 
| tolower | 文字を小文字に変換する | 
| toupper | 文字を大文字に変換する | 
| transform | コレクション内の値の範囲に演算を適用し、結果を格納する | 
| unary_function | 単項関数オブジェクトを作成するための基底クラス | 
| unary_negate | 単項述語の結果の補数を返す関数オブジェクト | 
| uninitialized_copy | 構造構文を使用してある範囲の値を別の位置にコピーするアルゴリズム | 
| uninitialized_fill | コレクション内の値の設定に構造構文アルゴリズムを使用するアルゴリズム | 
| uninitialized_fill_n | コレクション内の値の設定に構造構文アルゴリズムを使用するアルゴリズム | 
| unique | 1 つの範囲の値から連続する重複値を削除し、得られた一意の値を結果に書き込む | 
| unique_copy | 1 つの範囲の値から連続する重複値を削除し、得られた一意の値を結果に書き込む | 
| upper_bound | ソートされたコンテナ内の最後に有効な値位置を求める | 
| use_facet | ファセットの取得に使用するテンプレート関数 | 
| valarray | 数値演算用に最適化された配列クラス | 
| vector | ランダムアクセス反復子をサポートするシーケンス | 
| wcerr | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたバッファリングしていないストリームバッファーに対する出力を制御する | 
| wcin | <cstdio> で宣言されたオブジェクトの stdin に関連付けられたストリームバッファーからの入力を制御する | 
| wclog | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたストリームバッファーに対する出力を制御する | 
| wcout | <cstdio> で宣言されたオブジェクトの stderr に関連付けられたストリームバッファーに対する出力を制御する | 
| wfilebuf | 入力または出力シーケンスをファイルに関連付ける | 
| wfstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスに対する読み書きをサポートする | 
| wifstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスからの読み取りをサポートする | 
| wios | すべてのストリームが共通に必要とする関数を取り込む基底クラス | 
| wistream | ストリームバッファーが制御する文字シーケンスからの入力の読み取りと解釈をサポートする | 
| wistringstream | メモリー上の配列からの basic_string<charT,traits,Allocator&; クラスのオブジェクトの読み取りをサポートする | 
| wofstream | 1 つのファイル記述子に関連付けられた、複数の指定ファイルまたはその他デバイスへの書き込みをサポートする | 
| wostream | ストリームバッファーが制御するシーケンスに対する出力の書式設定と書き込みをサポートする | 
| wostringstream | basic_string<charT,traits,Allocator> クラスのオブジェクトの書き込みをサポートする | 
| wstreambuf | 各種のストリームバッファーを派生させて、文字シーケンスを制御しやすいようにする抽象基底クラス | 
| wstring | basic_string<wchar_t, char_traits<wchar_t>、allocator<wchar_t>>用の型定義 | 
| wstringbuf | 入力または出力シーケンスを任意の文字シーケンスに関連付ける | 
libCstd の代替ライブラリを使用する場合は、標準ライブラリの STLport 実装を使用します。 libCstd をオフにして、STLport ライブラリで代用するには、次のコンパイラオプションを使用します。
-library=stlport4
詳細は、「A.2.49 -library=l[ ,l...]」を参照してください。
このリリースでは、libstlport.a という静的アーカイブおよび libstlport.so という動的ライブラリの両方が含まれています。
STLport 実装を使用するかどうかは、次のことを考慮して判断してください。
STLport は、オープンソースの製品で、リリース間での互換性は保証されません。つまり、将来のバージョンの STLport でコンパイルすると、STLport 4.5.3 でコンパイルしたアプリケーションで問題が発生する可能性があります。また、STLport 4.5.3 でコンパイルしたバイナリは、将来のバージョンの STLport でコンパイルしたバイナリとリンクできない可能性があります。
stlport4、Cstd、および iostream のライブラリは、固有の入出力ストリームを実装しています。これらのライブラリの 2 個以上を-library オプションを使って指定した場合、プログラム動作が予期しないものになる恐れがあります。
コンパイラの将来のリリースには、STLport4 が含まれない可能性があります。STLport の新しいバージョンだけが含まれる可能性があります。コンパイラオプションの -library=stlport4 は、将来のリリースでは使用できず、STLport のそれ以降のバージョンを示すオプションに変更される可能性があります。
STLport では、Tools.h++ はサポートされません。
STLport は、デフォルトの libCstd とはバイナリ互換ではありません。STLport の標準ライブラリの実装を使用する場合は、-library=stlport4 オプションを指定してすべてのファイルのコンパイルおよびリンクを実行する必要があります。このことは、たとえば STLport 実装と C++ 区間演算ライブラリ libCsunimath を同時に使用できないことを意味します。その理由は、libCsunimath のコンパイルに使用されたのが、STLport ではなくデフォルトライブラリヘッダーであるためです。
STLport 実装を使用する場合は、コードから暗黙に参照されるヘッダーファイルをインクルードしてください。標準のヘッダーは、実装の一部として相互にインクルードできます (必須ではありません)。
-compat=4 によってコンパイルする場合には、STLport 実装を使用できません。
エンドユーザーオブジェクトコードライセンスの条件に基づいて、作成した実行可能ファイルまたはライブラリとともに再配布可能なライブラリおよびオブジェクトファイルの一覧は、再配布の README を参照してください。この README の C++ セクションに、このリリースのコンパイラがサポートしている STLport.so のバージョンが記載されています。この Readme は、http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html にある、Oracle Solaris Studio ソフトウェアのこのリリースについての法的ページにあります。
次の例は、ライブラリの実装について移植性のない想定が行われているため、STLport を使用してコンパイルできません。特に、<vector> または <iostream> が <iterator> を自動的にインクルードすることを想定していますが、これは正しい想定ではありません。
| #include <vector>
#include <iostream>
using namespace std;
int main ()
{
    vector <int> v1 (10);
    vector <int> v3 (v1.size());
    for (int i = 0; i < v1.size (); i++)
      {v1[i] = i; v3[i] = i;}
    vector <int> v2(v1.size ());
    copy_backward (v1.begin (), v1.end (), v2.end ());
    ostream_iterator<int> iter (cout, " ");
    copy (v2.begin (), v2.end (), iter);
    cout << endl;
    return 0;
} | 
問題を解決するには、ソースで <iterator> をインクルードします。
-library=stdcxx4 でコンパイルすることによって、デフォルトの libCstd の代わりに Apache stdcxx バージョン 4 C++ 標準ライブラリを Solaris で使用してください。このオプションにより、-mt オプションも暗黙的に設定されます。stdcxx ライブラリには、マルチスレッドモードが必要です。このオプションは、コンパイルのたびに、およびアプリケーション全体のリンクコマンドで一貫して使用する必要があります。-library=stdcxx4 を使用してコンパイルされたコードは、デフォルトの -library=Cstd または省略可能な -library=stlport4 を使用してコンパイルされたコードと同じプログラムでは使用できません。