Fill a container with some values, keeping only all the "maximum" inserted values. More...
#include <max_vector.hpp>
Public Types | |
typedef E | value_type |
The type of the values stored in the container. | |
typedef Comp | comparator_type |
The comparator used to compare the values inserted. | |
typedef Container | container_type |
The type of the container in which the values are stored. | |
Public Member Functions | |
max_vector () | |
Constructor. | |
max_vector (const value_type &e) | |
Constructor with an initial value. | |
void | add (const value_type &e) |
Insert a value in the vector. | |
const container_type & | get_v () const |
Get the stored values. | |
Private Attributes | |
container_type | m_values |
The maximum values. |
Fill a container with some values, keeping only all the "maximum" inserted values.
Adding a value greater than the previous ones remove all the old values.
Template parameters:
E,: | the type of the stored values. |
Comp,: | how to compare the old values with the new ones. |
Container,: | the type of the container in which the values are stored. |
Definition at line 55 of file max_vector.hpp.
typedef Comp claw::max_vector< E, Comp, Container >::comparator_type |
The comparator used to compare the values inserted.
Definition at line 62 of file max_vector.hpp.
typedef Container claw::max_vector< E, Comp, Container >::container_type |
The type of the container in which the values are stored.
Definition at line 65 of file max_vector.hpp.
typedef E claw::max_vector< E, Comp, Container >::value_type |
The type of the values stored in the container.
Definition at line 59 of file max_vector.hpp.
claw::max_vector< E, Comp, Container >::max_vector | ( | ) |
claw::max_vector< E, Comp, Container >::max_vector | ( | const value_type & | e ) | [explicit] |
Constructor with an initial value.
e | élément ajouté. |
Definition at line 47 of file max_vector.tpp.
{ add(e); } // max_vector::max_vector()
void claw::max_vector< E, Comp, Container >::add | ( | const value_type & | e ) |
Insert a value in the vector.
e | The value to insert. |
Definition at line 58 of file max_vector.tpp.
Referenced by claw::ai::game::select_random_action< Method >::operator()().
{ if (m_values.empty()) *std::inserter(m_values, m_values.end()) = e; else { comparator_type comp; if ( comp(m_values.front(), e) ) { m_values.clear(); *std::inserter(m_values, m_values.end()) = e; } else if ( !comp(e, m_values.front()) ) *std::inserter(m_values, m_values.end()) = e; } } // max_vector::add()
const claw::max_vector< E, Comp, Container >::container_type & claw::max_vector< E, Comp, Container >::get_v | ( | ) | const |
Get the stored values.
Definition at line 81 of file max_vector.tpp.
Referenced by claw::ai::game::select_random_action< Method >::operator()().
{ return m_values; } // max_vector::get_v()
container_type claw::max_vector< E, Comp, Container >::m_values [private] |
The maximum values.
Definition at line 76 of file max_vector.hpp.