Tools.h++ 7.0 ユーザーズガイド: 目次

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 参考文献