Class EfficientHost

Inheritance Relationships

Base Type

Class Documentation

class EfficientHost : public Host

Public Functions

EfficientHost(emp::Ptr<emp::Random> _random, emp::Ptr<EfficientWorld> _world, emp::Ptr<SymConfigBase> _config, double _intval = 0.0, emp::vector<emp::Ptr<Organism>> _syms = {}, emp::vector<emp::Ptr<Organism>> _repro_syms = {}, double _points = 0.0, double _efficient = 0.1)

The constructor for efficient host

EfficientHost(const EfficientHost&) = default

Input: None

Output: None

Purpose: To force a copy constructor to be generated by the compiler.

EfficientHost(EfficientHost&&) = default

Input: None

Output: None

Purpose: To force a move constructor to be generated by the compiler

EfficientHost() = default

Input: None

Output: None

Purpose: To tell the compiler to use its default generated variants of the constructor

std::string const GetName()

Input: None

Output: Name of class as string, EfficientHost

Purpose: To know which subclass the object is

void SetEfficiency(double _in)

Input: Efficiency value

Output: None

Purpose: Setting an efficient symbiont’s efficiency value.

double GetEfficiency()

Input: None

Output: A double representing the symbiont’s efficiency.

Purpose: Getting an efficient symbiont’s efficiency value.

emp::Ptr<Organism> MakeNew()

Input: None.

Output: A new host with same properties as this host.

Purpose: To avoid creating an organism via constructor in other methods.

Protected Attributes

double efficiency

Purpose: Represents the efficiency of a host.

emp::Ptr<EfficientWorld> my_world = NULL

Purpose: Represents the world that the efficient hosts are living in.