Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
このマニュアルを初めてお読みになる場合は、使用許諾契約書をお
読みください。
Tools.h++ のマニュアルには、『クラスライブラリ・リファレンスマニュアル』もあります。
Tools.h++ 7.0 ユーザーズガイド
目次
はじめに
第 1 章 クラスの概要
- 具体クラス
- 単純クラス
- テンプレートにもとづくコレクションクラス
- 総称コレクションクラス
- 抽象基底クラス
- Smalltalk 式コレクションクラス
- 共通のメンバー関数
- 持続性
- 記憶サイズ
- ストリーム入出力
- 比較
- メモリーの割り当てと開放
- 情報の流れ
- マルチスレッド安全
- 8 ビットクリーン
- 埋め込まれたヌル
- インデックス
- バージョン番号
第 2 章 文字列クラスの使用
- 一般的な例
- 照合
- 部分文字列
- パターン照合
- 単純な正規表現
- 拡張正規表現
- 文字列入出力
- iostream
- 仮想ストリーム
- トークナイザ
- 複数バイト文字列
- ワイド文字列
第 3 章 クラス RWDate の使用法
- 例
- コンストラクタ
第 4 章 クラス RWTime の使用法
- タイムゾーンの設定
- コンストラクタ
- メンバー関数
第 5 章 仮想ストリーム
- 仮想ストリームの特殊化
- 簡単な例
- Windows のクリップボードと DDE Streambufs
- DDE の例
- RWAuditStreamBuffer
- まとめ
第 6 章 クラス RWFile の使用法
- 例
第 7 章 クラス RWFileManager の使用法
- 構築
- メンバー関数
第 8 章 クラス RWBTreeOnDisk の使用法
- 作成
- 例
第 9 章 コレクションクラス
- コレクションクラスの格納方法
- メモリー管理に関する注意
- コレクションクラスのコピー
- 参照にもとづくコレクションクラスのコピー
- 値にもとづくコレクションクラスのコピー
- コレクション内のオブジェクトの検索
- 検索方法
- コレクションクラスの反復子
- 従来の Tools.h++ 反復子
第 10 章 コレクションクラステンプレート
- 概要
- テンプレートの概要
- テンプレートの命名規則
- テンプレートにおける値と参照の意味論
- テンプレートの侵入的リスト
- Tools.h++ テンプレートと標準 C++ ライブラリ
- 標準 C++ ライブラリが必要ない場合
- 標準 C++ ライブラリのコンテナ
- インタフェースの共通性
- パラメータの要件
- 比較子
- 全順序の詳細
- ハッシュ関数子と等値子
- 反復子
- 標準 C++ ライブラリの反復子
- マップにもとづく反復とペア
- 汎用ポインタとしての反復子
- 反復子と std() ゲートウェイ
- 両方の利点の活用例
- 標準ライブラリなしでテンプレートを使用する
- 標準 C++ ライブラリの移植可能性の考慮
- 例 1
- 例 2
- 移行の手引き:旧バージョンの Tools.h++ を使用している場合
第 11 章 総称コレクションクラス
- 例
- 総称コレクションクラスの宣言
- ユーザー定義関数
- テスト関数
- 適用関数
第 12 章 Smalltalk 式コレクションクラス
- Smalltalk 式クラスの表
- 例
- Smalltalk 式コレクションクラスの選択
- バッグ、セット、ハッシュテーブル
- 順序付きクラス
- 辞書
- RWCollection から継承される仮想関数
- insert()
- find() とフレンド
- remove() 関数
- apply() 関数
- 関数 clear() および clearAndDestroy()
- RWCollection クラスから共有されるその他の関数
- クラス変換
- 他のコレクションの挿入と除去
- 選択
- RWSequenceable から継承される仮想関数
- オブジェクトの検索方法に関する注意
- ハッシュ
第 13 章 持続性
- 持続性とは
- 持続性のレベル
- 用語に関する注意
- この節で示す例について
- 持続性なし
- 単純持続性
- 単純持続性の例
- 同形持続性
- 同形持続性と単純持続性の相違点
- Tools.h++ クラスの同形持続性
- 同形持続性を使用するようにクラスを設計する
- 関数 rwSaveGuts と rwRestoreGuts を作成する
- ユーザー設計クラスの同形持続性
- 多相持続性
- 演算子
- 多相持続性を使用するようにクラスを設計する
- 多相持続性の例
- その他の注意事項
- オブジェクトを保存する場合は、必ずそのオブジェクトを値によって保存してから、ポインタによって保存する
- 同じアドレスを持つ異なるオブジェクトを保存しない
- ソートされた RWCollections を使用して異種 RWCollectables を格納しない
- 復元されるすべての RWCollectables を定義する
第 14 章 RWCollectable クラスの設計
- RWCollection クラスを設計する理由
- RWCollectable クラスの例
- RWCollectable オブジェクトの作成方法
- デフォルトコンストラクタの定義
- RWDECLARE_COLLECTABLE() をユーザーのクラス宣言に追加する
- ユーザーのクラスにクラス識別子を指定する
- 仮想関数の定義を追加する
- オブジェクトの破壊
- 多相持続性の追加方法
- RWFactory に関する注意
- まとめ
第 15 章 国際化
- RWCString と RWWString による文字の地域化
- メッセージの地域化
- 通貨、数字、日付、時刻の地域化
- RWLocale と RWZone
- 日付
- 時間
- 数字
- 通貨
- 環境変数の設定に関する注意
第 16 章 エラー処理
- Tools.h++ のエラーモデル
- 内部エラー
- 回復不可能な内部エラー
- 回復可能な内部エラー
- 外部エラー
- 例外アーキテクチャ
- エラーハンドラ
- Tools.h++ のデバッグバージョン
第 17 章 実装に関する注意事項
- 動的リンクライブラリ
- DLL の例
- 書き込み時のコピー
- 例
- RWStringID
- 識別子の存続期間
- RWStringID を使用するプログラミング
- RWStringID の実装の詳細
- RWCollectable の格納と検索の詳細
- 多重継承
第 18 章 よくある誤り
- 仮想関数の再定義
- 反復子
- operator>>() の戻り型
- ポインタの値コレクションの持続を避ける
- インクルードパス
- メモリーモデルと他の修飾子の一致
- 関連するメソッドの整合性を維持する
- DLL
- ライブラリ機能の活用
付録 A コレクションの選択
付録 B Typedef とマクロ
付録 C メッセージ一覧
付録 D 参考文献