Next: , Previous: Classe Parametre, Up: Classes utilisateur


2.2.3.10 Versatile

Cette classe est normalement invisible en tant que telle a l'utilsateur de la bibliotheque de classes Batch. Mais il est tout de meme utile de la presenter car son action est visible, notamment dans son interaction fine avec la classe Parametre. See Classe Parametre.

Comme il a ete precise dans la descrption de la classe Parametre, la classe Versatile a ete concue pour encapsuler les valeurs de la map Parametre qui peuvent etre de types effectifs differents.

Ces types, decrits par l'enumeration DiscriminatorType, sont actuellement au nombre de trois : long, string et couple. Ces types correpondent au types de base du langage C++ ou de la biliotheque de classes Batch. See Types de base.

Le type special undefined ne sert que pour l'objet Versatile juste cree mais non encore affecte d'une valeur et donc d'un type. La premiere affection d'une valeur a un objet Versatile non encore affecte lui donne automatiquement le type de la valeur.

Les objets de classe Versatile peuvent se comporter soit comme des variables scalaires, c'est-a-dire ne contenant qu'une valeur unique, soit comme des listes, auquel cas elles utilisent l'interface des list de la STL. Toutefois afin de faciliter l'ecriture pour l'utilisateur basique de la classe Versatile — et de la classe Parametre —, des operateurs de concatenation ‘+=’ et ‘,’ ont ete ajoutes.