System.Set

De RAD Studio API Documentation
Aller à : navigation, rechercher

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èque iostream avant sysset. 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)