System.Set
C++
class RTL_DELPHIRETURN Set : public SetBase<T, (unsigned char)minEl, (unsigned char)maxEl>
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | sysset.h | System | System |
Description
Set est un template C++ pour l'émulation des types Set trouvés dans Delphi.
Un type Set est déclaré avec trois paramètres :
Paramètre | Utilisation |
---|---|
T
|
Le type de l'élément (habituellement int, char ou un type énuméré). |
minEl
|
La valeur minimale que l'ensemble peut avoir (cette valeur ne peut être inférieure à 0). |
maxEl
|
La valeur maximale que l'ensemble peut avoir (cette valeur ne peut être supérieure à 255). |
Deux types Set sont distincts si l'un des trois paramètres de modèle est différent :
Set <char, 'A', 'C'> s1;
Set <char, 'X', 'Z'> s2;
...
if (s1 == s2) // ERREUR : == non implémenté pour le second type ensemble
Pour créer plusieurs instances d'un type Set, utilisez une expression typedef.
typedef Set <char, 'A','Z'> UPPERCASESet;
La déclaration d'une variable Set n'initialise pas la variable. Vous pouvez déclarer les types Set et les initialiser en utilisant l'opérateur <<
comme l'illustre cet exemple :
UPPERCASESet s1;
s1 << 'A' << 'B' << 'C'; // Initialiser
UPPERCASESet s2;
s2 << 'X' << 'Y' << 'Z'; // Initialiser
Remarque : Pour exploiter les opérateurs de flux C++ (
<<
et>>
) avec les types Set, vous devez inclure la bibliothèqueiostream
avantsysset
. Cette opération est effectuée automatiquement si vous incluez vcl.h ou System.hpp. Les opérateurs de flux suivants sont définis :
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)