System.Set.Create

De RAD Studio API Documentation
Aller à : navigation, rechercher

C++

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

Propriétés

Type Visibilité  Source Unité  Parent
constructor public sysset.h System Set

Description

Set est un template C++ pour l'émulation des types Set trouvés dans Delphi.

Set est un template permettant de déclarer les types Set compatibles avec les types "set of" de 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)   // ERROR: == 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 utiliser #include <iostream> avant #include <sysset.h>. 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)