System.Set

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

C++

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

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public sysset.h System System

Beschreibung

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

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

Anmerkung:  Für die Verwendung der C++-Streaming-Operatoren (<< und >>) mit Set-Typen müssen Sie die iostream-Bibliothek vor sysset einbeziehen. 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)