EvolvingObjects
eoOpContainer< EOT > Class Template Reference

eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated More...

#include <eoOpContainer.h>

Inheritance diagram for eoOpContainer< EOT >:
eoGenOp< EOT > eoOp< EOT > eoUF< eoPopulator< EOT > &, void > eoFunctorBase unary_function eoProportionalOp< EOT > eoSequentialOp< EOT >

List of all members.

Public Member Functions

 eoOpContainer ()
 Ctor: nothing much to do.
virtual ~eoOpContainer (void)
 Dtor: delete all the GenOps created when wrapping simple ops.
virtual unsigned max_production (void)
 for memory management (doesn't have to be very precise
void add (eoOp< EOT > &_op, double _rate)
 Add an operator to the container, also give it a rate.
virtual std::string className () const =0

Protected Attributes

std::vector< double > rates
std::vector< eoGenOp< EOT > * > ops

Private Attributes

eoFunctorStore store
unsigned max_to_produce

Detailed Description

template<class EOT>
class eoOpContainer< EOT >

eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated

Warning: all operators are added together with a rate (double) However, the meaning of this rate will be different in the differnet instances of eoOpContainer: an ***absolute*** probability in the sequential version, and a ***relative*** weight in the proportional version

Definition at line 44 of file eoOpContainer.h.


Member Function Documentation

template<class EOT >
void eoOpContainer< EOT >::add ( eoOp< EOT > &  _op,
double  _rate 
) [inline]

Add an operator to the container, also give it a rate.

(sidenote, it's much less hairy since I added the wrap_op is used)

Definition at line 65 of file eoOpContainer.h.


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