原書は、"The GNU C++ Library" (http://gcc.gnu.org/onlinedocs/libstdc++/manual/spine.html)
まだ途中です。適宜アップデート予定。
長すぎる、とSeeSaa様に怒られてしまったので、付録以降はとりあえず本稿では省きました。
GNU C++ ライブラリ
Copyright (c) 2008 FSF
Japanese Translation Copyright (c) 2008 もふもふ
ライセンス
Table of Contents
I. イントロダクション
1. ステータス
実装ステータスImplementation Status
C++ 1998
C++ TR1
C++ 200x
ライセンス
コード: GPL
ドキュメンテーション: GPL, FDL
バグ
実装のバグ
標準ライブラリのバグStandard Bugs
2. セットアップ
ビルド構成の設定Configure
ビルド
必要なお膳立てPrerequisites
Make
テスト
構成Organization
命名規則
ユーティリティ
テスト・スイートの実行
新しいテスト・ケース
テスト・ハーネス詳細
これから
3. つかい方
ライブラリ・バイナリ・ファイルのリンク
ヘッダ
ヘッダ・ファイル
ヘッダの混載Mixing Headers
C ヘッダと std名前空間
コンパイル済みヘッダ
名前空間
使用可能な名前空間
std名前空間
名前空間を組み合わせて使うUsing Namespace Composition
マクロ
同時性Concurrency
必要なお膳立てPrerequisites
スレッド安全性
アトミック
IO
コンテナ
「例外」安全性Exception Safety
デバッギング・サポート
g++ の使用
デバッグバージョンのライブラリ・バイナリ・ファイルDebug Versions of Library Binary Files
メモリ・リーク狩りMemory Leak Hunting
gdb をつかう
捕らえなかった例外を追う
デバッグ・モード
コンパイル時間のチェックCompile Time Checking
II. サポート
prefaceTODO:
4. 型Types
基本の型Fundamental Types
数値プロパティNumeric Properties
NULL
5. 動的メモリ
6. 停止Termination
停止ハンドラTermination Handlers
くどくどしい停止ハンドラVerbose Terminate Handler
III. 診断
7. 例外
例外クラス
例外にデータを追加する
打ち消しCancellation
8. コンセプト・チェッキング
IV. ユーティリティ
9. ファンクタ
10. ペア
11. メモリ
アロケータ
要求仕様Requirements
設計上の問題点Design Issues
実装
スペシフィック・アロケータをつかう
カスタム・アロケータCustom Allocators
エクステンション・アロケータ
auto_ptr
制限
コンテナ中での使用
shared_ptr
要求仕様Requirements
設計上の問題点Design Issues
実装Implementation
使用法Use
謝辞
12. Traits
V. 文字列Strings
13. String クラス関連Classes
シンプルな変換Simple Transformations
大文字小文字の区別Case Sensivitity
任意の文字型Arbitrary Character Types
トークナイジングTokenizing
縮めてフィットShrink to Fit
CStringクラス (MFC)
VI. ローカライゼーション
14. ロケール関連
ロケールlocale
要求仕様Requirements
設計Design
実装Implementation
これからFuture
15. ファセット aka カテゴリFacets aka Categories
ctype
実装
これから
codecvt
要求仕様Requirements
設計Design
実装Implementation
使用法Use
これからFuture
messages
要求仕様Requirements
設計Design
実装Implementation
使用法Use
これからFuture
VII. コンテナ関連
16. シーケンスSequences
リストlist
list::size() は 計算量O(n)
ベクタvector
空間オーバヘッドの管理
17. 連想配列Associative
挿入のヒントInsertion Hints
ビットセットbitset
サイズ変数Size Variable
Type String
18. Cとの連携Interacting with C
コンテナ vs. アレイContainers vs. Arrays
VIII. イテレータIterators
19. 定義済みPredefined
イテレータ vs. ポインタIterators vs. Pointers
ひとつ越えたらOne Past the End
IX. アルゴリズムAlgorithms
prefaceTODO:
20. ミューテイティイングMutating
スワップswap
特殊化Specializations
X. 数値型Numerics
21. 複素数型Complex
complex の処理
22. 一般化した操作Generalized Operations
23. Cとの連携Interacting with C
数値型 vs. アレイNumerics vs. Arrays
C99
XI. 入力と出力
24. Iostream オブジェクト
25. Stream バッファ
streambuf 派生クラス関連
バッファリング
26. メモリ・ベースのストリーム
strstream との互換性
27. ファイル・ベースのストリーム
ファイルをコピーする
バイナリ入力と出力
さらなるバイナリ入力と出力
28. Cとの連携
ファイルポインタFILE* とファイルディスクリプタを使うFILE* and file descriptors
パフォーマンス
XII. 拡張Extensions
prefaceTODO:
29. コンパイル時間のチェックCompile Time Checks
30. デバッグ・モードDebug Mode
Intro
セマンティクスSemantics
つかい方Using
デバッグ・モードを使う
Using a Specific Debug Container
設計
目的Goals
方法
他の実装Other Implementations
31. 並列モードParallel Mode
Intro
セマンティクスSemantics
つかい方Using
並列モードを使うUsing Parallel Mode
特殊並列コンポーネントを使うUsing Specific Parallel Components
設計Design
基本インタフェースInterface Basics
構成とチューニングConfiguration and Tuning
名前空間の実装Implementation Namespaces
テスティングTesting
Bibliography
32. アロケータ
mt_allocator
Intro
設計上の問題点Design Issues
実装
単一スレッドの例
複数スレッドの例
bitmap_allocator
設計
実装
33. コンテナ
ポリシーベースのデータ構造Policy Based Data Structures
HP/SGI
Deprecated HP/SGI
34. ユーティリティ
35. アルゴリズムAlgorithms
36. 数値型Numerics
37. イテレータIterators
38. 入力と出力
filebufs の派生
39. 曖昧性除去Demangling
40. 同時性Concurrency
設計
ロックとミューテックスへのインタフェースInterface to Locks and Mutexes
アトミック・ファンクションへのインタフェースInterface to Atomic Functions
実装
ビルトインのアトミック・ファンクションをつかうUsing Builitin Atomic Functions
スレッド抽象化
使用法
けっこうめんどくさい。
返信削除