Public Types | Public Member Functions | Public Attributes

my_lib::Nuple< TList > Struct Template Reference

Ex 2: N-uplet de valeurs de types différents. More...

#include <nuple.hh>

List of all members.

Public Types

typedef TList::head val_type
 Le type de la première valeur du N-uplet.
typedef TList::tail tail

Public Member Functions

template<unsigned N>
type_list::GetType< TList, N >
::type & 
at ()
 Ex 4a: Accès à un élément du N-uplet.
Nuple< tail > & operator<< (const val_type &t)
 Ex 4b: Remplissage du N-uplet.

Public Attributes

val_type val
 La première valeur du N-uplet.

Detailed Description

template<typename TList>
struct my_lib::Nuple< TList >

Ex 2: N-uplet de valeurs de types différents.

Les types des valeurs du N-uplet sont spécifier par une liste de type. Un N-uplet est une sorte de liste statique, dont la tête stocke la première valeur et l'objet N-uplet est associé avec un autre objet N-uplet pour stocker les autres valeurs. Comme un N-uplet n'a pas de sens sans le N-uplet qui stocke la fin de la liste et que la durée de vie de ces classe est liée, il s'agit en fait d'une cotmposition, il est normal en C++ de l'implémenter via l'héritage.

Template Parameters:
TList la liste des types du N-uplet

Definition at line 29 of file nuple.hh.


Member Typedef Documentation

template<typename TList>
typedef TList::tail my_lib::Nuple< TList >::tail

Definition at line 32 of file nuple.hh.

template<typename TList>
typedef TList::head my_lib::Nuple< TList >::val_type

Le type de la première valeur du N-uplet.

Definition at line 31 of file nuple.hh.


Member Function Documentation

template<typename TList >
template<unsigned N>
type_list::GetType< TList, N >::type & my_lib::Nuple< TList >::at (  ) 

Ex 4a: Accès à un élément du N-uplet.

Cette méthode est paramétrée par l'indice de l'élément à atteindre. Elle fait appel à la méthode statique de HelpGet.

Template Parameters:
N l'indice de la valeur accédée

Definition at line 26 of file nuple.hxx.

template<typename TList >
Nuple< typename TList::tail > & my_lib::Nuple< TList >::operator<< ( const val_type t  ) 

Ex 4b: Remplissage du N-uplet.

On surcharge l'opérateur << afin de pouvoir remplir simplement le N-uplet. On retourne une référence sur la suite du N-uplet pour pouvoir chaîner les opérateurs <<. Ce type de technique est généralement préféré aux fonctions ou méthode variadiques.

Definition at line 19 of file nuple.hxx.


Member Data Documentation

template<typename TList>
val_type my_lib::Nuple< TList >::val

La première valeur du N-uplet.

Definition at line 35 of file nuple.hh.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends