Bonjour
Malgr� des recherches je n'arrive pas � comprendre cette structure

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template <typename T>                                  //ligne 1
struct processus                                                 //ligne 2
{
typedef std::pair<double, T> state;                           //ligne 3                  
typedef std::list<state> result_type;                          //ligne 4
typedef typename result_type::iterator iter;                //ligne 5 
typedef typename result_type::const_iterator cst_iter;   //ligne 6 
processus(int size = 0) : value(size) {};                     //ligne 7 
virtual result_type operator()() = 0;                          //ligne 8 
result_type current() const { return value; };             //ligne 9 
template <typename S>                                          //ligne 10 
friend std::ostream& operator<<(std::ostream &o,           //ligne 11 
const processus<S> &p)                                          //ligne 12 
{
  o << 0;
  return o;
}
protected:
result_type value;
};
Ainsi voici ce que j'ai compris mais qui peut �tre faux et mes questions
ligne 3 : state a pour type un couple (double et suivant besoin int,char,float etc ...)
ligne 4 : result_type est une liste chain�e du couple pr�c�dent mais pourquoi le compilateur n'accepte-t-il pas
typedef std::list<std::pair<double, T>> result_type;

Les autres lignes sont un peu le flou pour moi. Si d'aucun peut me donner des explications assez pr�cises je l'en remercie par avance et cela me fera gagner du temps et m'�vitera d'interpeler le forum.

Derni�re pr�cision : je suis compl�tement autodidacte en C++.