Ex 2: N-uplet de valeurs de types différents. More...
#include <nuple.hh>
Public Member Functions | |
template<unsigned N> | |
type_list::GetType< TList, N > ::type & | at () |
Ex 4a: Accès à un élément du N-uplet. | |
template<unsigned N> | |
const type_list::GetType < TList, N >::type & | at () const |
Accès à un élément du N-uplet constant. | |
Nuple< tail > & | operator<< (const val_type &t) |
Ex 4b: Remplissage du N-uplet. | |
Friends | |
struct | internal::HelpGet |
struct | internal::PrintNuple |
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.
TList | la liste des types du N-uplet |
Definition at line 39 of file nuple.hh.
type_list::GetType< TList, N >::type & my_lib::Nuple< TList >::at | ( | ) |
const type_list::GetType<TList, N>::type& my_lib::Nuple< TList >::at | ( | ) | const |
Accès à un élément du N-uplet constant.
Cette méthode est paramétrée par l'indice de l'élément à atteindre. Elle fait appel à la méthode statique de HelpGet.
N | l'indice de la valeur accédée |
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.
friend struct internal::HelpGet [friend] |
friend struct internal::PrintNuple [friend] |