Evocosm - A C++ Framework for Evolutionary Computing

Main Index

Created by Scott Robert Ladd at Coyote Gulch Productions.

Public Member Functions

libevocosm::migrator< OrganismType > Class Template Reference

Defines migration between populations. More...

#include <migrator.h>

Inheritance diagram for libevocosm::migrator< OrganismType >:
libevocosm::globals libevocosm::null_migrator< OrganismType > libevocosm::random_pool_migrator< OrganismType >

List of all members.

Public Member Functions

Detailed Description

template<class OrganismType>
class libevocosm::migrator< OrganismType >

A migrator removes individuals (via "emigration") from a population of organisms, transferring them to another population (via "immigration"). A concrete implementation of this interface will probably contain some sort of organism "pool"; migration will place organisms into the pool, and immigration will remove them.

OrganismType- The type of organism that will be migrating

Constructor & Destructor Documentation

template<class OrganismType >
virtual libevocosm::migrator< OrganismType >::~migrator ( ) [inline, virtual]

A virtual destructor. By default, it does nothing; this is a placeholder that identifies this class as a potential base, ensuring that objects of a derived class will have their destructors called if they are destroyed through a base-class pointer.

Member Function Documentation

template<class OrganismType >
virtual void libevocosm::migrator< OrganismType >::migrate ( vector< population< OrganismType > > &  a_populations) [pure virtual]

Calling emigrate will remove organisms from a population; these "mgrating" organisms will then be available for addition to another population via the immigrate method. The criteria for emigration is application-specific. Nothing requires that an organism be removed from its original population -- that is simply how "real" life works, when an animal leaves its home (say, a male lion leaving its pride) to join another population.

a_populations- Set of organism populations between which members will "migrate"

Implemented in libevocosm::null_migrator< OrganismType >, and libevocosm::random_pool_migrator< OrganismType >.

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

© 2011 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.