EvolvingObjects
eoPerf2WorthCached< EOT, WorthT > Class Template Reference

Perf2Worth with fitness cache. More...

#include <eoPerf2Worth.h>

Inheritance diagram for eoPerf2WorthCached< EOT, WorthT >:
eoPerf2Worth< EOT, WorthT > eoUF< const eoPop< EOT > &, void > eoValueParam< std::vector< WorthT > > eoFunctorBase unary_function eoParam

List of all members.

Classes

class  compare_worth
 helper class used to sort indices into populations/worths More...

Public Member Functions

 eoPerf2WorthCached (std::string _description="Worths")
void operator() (const eoPop< EOT > &_pop)
 Implementation of the operator(), updating a cache of fitnesses.
virtual void calculate_worths (const eoPop< EOT > &_pop)=0
 The actual virtual function the derived classes should implement.
virtual void sort_pop (eoPop< EOT > &_pop)
 Sort population according to worth, will keep the worths and fitness_cache in sync with the population.
virtual void resize (eoPop< EOT > &_pop, unsigned sz)

Private Attributes

std::vector< typename
EOT::Fitness > 
fitness_cache

Detailed Description

template<class EOT, class WorthT = typename EOT::Fitness>
class eoPerf2WorthCached< EOT, WorthT >

Perf2Worth with fitness cache.

Definition at line 116 of file eoPerf2Worth.h.


Member Function Documentation

template<class EOT, class WorthT = typename EOT::Fitness>
void eoPerf2WorthCached< EOT, WorthT >::operator() ( const eoPop< EOT > &  _pop) [inline, virtual]

Implementation of the operator(), updating a cache of fitnesses.

Calls the virtual function calculate_worths when one of the fitnesses has changed. It is not virtual, but derived classes can remove the fitness caching trough the third template element

Implements eoUF< const eoPop< EOT > &, void >.

Definition at line 130 of file eoPerf2Worth.h.


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