-
Notifications
You must be signed in to change notification settings - Fork 16
/
utility.txt
45 lines (37 loc) · 2.72 KB
/
utility.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
UTILITY
HEADER ==> #<utility>
pair <WVAR, WVAR2> #Classe unissant deux valeurs de type WVAR et WVAR2, qui
#peuvent être différents.
PAIR() #Instantie un PAIR avec ses deux membres construits avec
#leur constructor par défaut.
PAIR(WVAL, WVAL2) #Instantie un PAIR avec WVAL (de type WVAR) comme
#PAIR.first, et WVAL2 (de type WVAR2) comme PAIR.second
PAIR.first #Renvoie la première valeur de PAIR
PAIR.second #Renvoie la seconde valeur de PAIR
pair<...>::first_type #Type de PAIR.first
pair<...>::second_type #Type de PAIR.second
PAIR == PAIR2 #Les deux éléments de chaque PAIR sont testés. Les PAIR
PAIR != PAIR2 #n'ont pas forcément le même template, il faut juste que
#leur éléments respectifs puissent être comparés.
#PAIR est une VAR, pas une VAL.
PAIR >= PAIR2
PAIR > PAIR2
PAIR <= PAIR2 #D'abord le premier, puis le deuxième élément de chaque
PAIR < PAIR2 #PAIR sont testés.
make_pair(WVAL, WVAL2) #Renvoie une PAIR_VAL dont la première valeur est WVAL,
#et la seconde WVAL2.
namespace rel_ops #Namespace contenant quatre BOOL_CLASSFK, overloadable
#operator à template définies comme :
# - operator!= : renvoie !( x == y )
# - operator> : renvoie ( y < x )
# - operator<= : renvoie !( x < y )
# - operator>= : renvoie !( y < x )
#Utilité : une classe a juste à définir l'operator== et
#operator<. Il doit s'agir de const CLASSFK et les
#argument doivent aussi être const.
#Ensuite, dans le code (et non dans la classe elle-
#même), il suffit de faire un :
# - using namespace std::rel_ops
#pour pouvoir utiliser les quatres autres opérateurs.