claw::max_vector< E > Class Template Reference

Stockage d'une liste d'éléments ayant la même valeur avec majoration. L'ajout d'un élément de valeur supérieur à la valeur max actuelle supprime tous les éléments présents de la liste. More...

#include <max_vector.hpp>

List of all members.

Public Member Functions

 max_vector (const E &e)
 Création avec un élément.
void add (const E &e)
 Ajoute un élément dans le vecteur.
const std::vector< E > & get_v () const
 Renvoie le vecteur.

Private Attributes

m_max
 Maximum des élément du vecteur.
std::vector< E > m_vector
 Les maximums rencontrés.

Detailed Description

template<class E>
class claw::max_vector< E >

Stockage d'une liste d'éléments ayant la même valeur avec majoration. L'ajout d'un élément de valeur supérieur à la valeur max actuelle supprime tous les éléments présents de la liste.

Parameters:
E : type des éléments à stocker.
Author:
Julien Jorge

Definition at line 45 of file max_vector.hpp.


Constructor & Destructor Documentation

template<class E >
claw::max_vector< E >::max_vector ( const E &  e  )  [inline, explicit]

Création avec un élément.

Parameters:
e élément ajouté.

Definition at line 37 of file max_vector.tpp.

References claw::max_vector< E >::m_vector.

00038   : m_max(e)
00039 { 
00040   m_vector.push_back(e);
00041 } // max_vector() [constructeur]


Member Function Documentation

template<class E >
void claw::max_vector< E >::add ( const E &  e  )  [inline]

Ajoute un élément dans le vecteur.

Parameters:
e élément à ajouter.

Definition at line 49 of file max_vector.tpp.

References claw::max_vector< E >::m_max, and claw::max_vector< E >::m_vector.

Referenced by claw::ai::game::select_random_action< Method >::operator()().

00050 {
00051   if ( m_max < e )
00052     {
00053       m_vector.clear();       // on détruit le vecteur
00054       m_vector.push_back(e);  // on ajoute l'élément
00055       m_max = e;              // mise à jour du maximum
00056     }
00057   else if (e == m_max)
00058     m_vector.push_back(e);    // on ajoute l'élément
00059 } // add()

template<class E >
const std::vector< E > & claw::max_vector< E >::get_v (  )  const [inline]

Renvoie le vecteur.

Definition at line 66 of file max_vector.tpp.

References claw::max_vector< E >::m_vector.

Referenced by claw::ai::game::select_random_action< Method >::operator()().

00067 { 
00068   return m_vector; 
00069 } // get_v()


Member Data Documentation

template<class E>
E claw::max_vector< E >::m_max [private]

Maximum des élément du vecteur.

Definition at line 55 of file max_vector.hpp.

Referenced by claw::max_vector< E >::add().

template<class E>
std::vector<E> claw::max_vector< E >::m_vector [private]

Les maximums rencontrés.

Definition at line 58 of file max_vector.hpp.

Referenced by claw::max_vector< E >::add(), claw::max_vector< E >::get_v(), and claw::max_vector< E >::max_vector().


The documentation for this class was generated from the following files:

Generated on 9 Nov 2009 for CLAW Library (a C++ Library Absolutely Wonderful) by  doxygen 1.6.1