System.Set

提供: RAD Studio API Documentation
移動先: 案内検索

C++

class RTL_DELPHIRETURN Set : public SetBase<T, (unsigned char)minEl, (unsigned char)maxEl>

プロパティ

種類 可視性 ソース ユニット
class public sysset.h System System


説明

Set は、Delphi にある set 型をエミュレートする C++ テンプレートです。

set 型は 3 つのパラメータと共に宣言されます:

パラメータ 使用方法
T 要素の型(通常は int、char、または enum 型)。
minEl set が保持できる最小値(0 より小さい値は不可)。
maxEl set が保持できる最大値(255 より大きい値は不可)。

2 つの set 型は、3 つのテンプレート パラメータのいずれかが異なると、別のものとされます:

 Set <char, 'A', 'C'> s1;
 Set <char, 'X', 'Z'> s2;
 ...
 if (s1 == s2)   // エラー。 == は 2 つめの set 型には実装されていません。

Set 型の複数のインスタンスを作成するには、typedef 式を使用します。

 typedef Set <char, 'A','Z'> UPPERCASESet;

Set 変数の宣言は、変数を初期化しません。 次の例で示すように、Set 型の宣言と初期化は、<< 演算子を使用して行うことができます:

 UPPERCASESet s1;
 s1 << 'A' << 'B' << 'C';   // 初期化
 UPPERCASESet s2;
 s2 << 'X' << 'Y' << 'Z';   // 初期化

メモ: C++ ストリーム演算子(<< および >>)を Set 型で使用するには、sysset の前に、iostream ライブラリをインクルードしなければなりません。 vcl.h または System.hpp をインクルードしている場合には、これは自動的に行われます。 次のストリーム演算子が定義されます:

 template <class T, unsigned char minEl, unsigned char maxEl> ostream& 
    operator <<(ostream& os, const Set<T, minEl, maxEl> & arg);
  template <class T, unsigned char minEl, unsigned char maxEl> istream&
    operator >>(istream& is, Set<T, minEl, maxEl> & arg)