バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.


RWCollectableString

RWCollectable
RWCollectableString
RWCString

形式

typedef RWCollectableString String;  // Smalltalk typedef
#include <rw/collstr.h>
RWCollectableString  c;

説明

コレクタブルな文字列。文字列を RWCollectable として格納したり取り出したりする場合、または文字列を "ディクショナリ" コレクションクラス内のキーとして使用する場合に有用なクラスです。クラス RWCStringRWCollectable の両方を継承します。基底クラス RWCollectable の仮想関数を再定義しています。

持続性

多相

公開コンストラクタ

RWCollectableString();

空の RWCollectableString を作成します。

RWCollectableString(const RWCString& s);

RWCString s から RWCollectableString を作成します。

RWCollectableString(const char* c);

文字列を変換します。

RWCollectableString(const RWCSubString&);

部分文字列を変換します。

RWCollectableString(char c, size_t N);

N 個の文字 (デフォルトは空白) で RWCollectableString を作成します。

公開メンバー関数

virtual RWspace
binaryStoreSize() const;

クラス RWCollectable から再定義した関数。

virtual int
compareTo(const RWCollectable* c) const;

クラス RWCollectable から再定義した関数。RWCString::compareTo(*(const String*)c, RWCString::exact) の結果を返します。これは、大文字と小文字を区別して辞書式順序で文字列を比較します。別の方法として、大文字と小文字を区別しない CaseFoldedString を定義することも考えられます。これを次の 2 つの理由から、このようにはしませんでした。1 つには、これは作成が簡単で、広く必要とされるものではないということです。もう 1 つには、ソートされたコレクションの場合どのような種類であれ、その中に RWCollectableStringCaseFoldedString が両方存在すると動作が混乱する可能性があることです。これは、比較の結果が、比較が実行された順序に依存するからです。

virtual unsigned
hash() const;

クラス RWCollectable から再定義した関数。RWCString::hash() を呼び出して、その結果を返します。

virtual RWClassID
isA() const;

クラス RWCollectable から再定義した関数で、__RWCOLLECTABLESTRING を返します。

virtual RWBoolean
isEqual(const RWCollectable* c) const;

クラス RWCollectable から再定義した関数。c を引数として RWCString::operator==() (等値演算子) を呼び出し、その結果を返します。

virtual void
restoreGuts(RWvistream&);
virtual void
restoreGuts(RWFile&);
virtual void
saveGuts(RWvostream&) const;
virtual void
saveGuts(RWFile&) const;

クラス RWCollectable から再定義した関数。

RWStringID
stringID();

(仮想関数として動作) クラス RWCollectable から継承した関数。