System.Set.Create

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

C++

__fastcall Set() {memset(SetBaseT::Data, 0, sizeof (SetBaseT::Data));}
__fastcall Set(const Set& src)
explicit __fastcall Set(const int& src)

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
constructor public sysset.h System Set

Beschreibung

Set ist eine C++-Template zum Emulieren der Set-Typen von Delphi.

Set ist eine Template zum Deklarieren von Set-Typen, die mit den Delphi-Typen "set of" kompatibel sind.

Ein Set-Typ wird mit drei Parametern deklariert:



Parameter Bedeutung

T

Der Typ der Elemente (normalerweise int, char oder enum)

minEl

Der Minimalwert, den der Set-Typ aufnehmen kann (dieser Wert darf nicht kleiner als 0 sein)

maxEl

Der Maximalwert, den der Set-Typ aufnehmen kann (dieser Wert darf nicht größer als 255 sein)



Zwei Set-Typen sind verschieden, wenn einer der drei Template-Parameter unterschiedlich ist:

Set <char, 'A', 'C'> s1;
Set <char, 'X', 'Z'> s2;
if (s1 == s2)   // Fehler: == für den zweiten Set-Typ nicht implementiert

Um mehrere Instanzen eines Set-Typs zu erstellen, verwenden Sie einen typedef-Ausdruck.

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

Durch die Deklaration einer Set-Variable wird die Variable nicht initialisiert. Sie können Set-Typen mit dem Operator <<, wie im folgenden Beispiel, deklarieren und initialisieren:

UPPERCASESet s1;
s1 << 'A' << 'B' << 'C';   // Initialisieren
UPPERCASESet s2;
s2 << 'X' << 'Y' << 'Z';   // Initialisieren

Hinweis: Für die Verwendung der C++-Streaming-Operatoren (<< und >>) mit Set-Typen müssen Sie #include <iostream> vor #include <sysset.h> angeben. Dies geschieht automatisch, wenn Sie vcl.h oder System.hpp einbeziehen. Die folgenden Stream-Operatoren sind definiert:

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)