Program Listing for File Organism.h¶
↰ Return to documentation for file (source/Organism.h
)
#ifndef ORGANISM_H
#define ORGANISM_H
#include <string>
#include "ConfigSetup.h"
class Organism {
public:
Organism() = default;
Organism(const Organism &) = default;
Organism(Organism &&) = default;
virtual ~Organism() {}
Organism & operator=(const Organism &) = default;
Organism & operator=(Organism &&) = default;
bool operator==(const Organism &other) const {return (this == &other);}
bool operator!=(const Organism &other) const {return !(*this == other);}
virtual std::string const GetName() {
std::cout << "GetName called from Organism" << std::endl;
throw "Organism method called!";}
virtual double GetIntVal() const {
std::cout << "GetIntVal called from Organsim" << std::endl;
throw "Organism method called!";}
virtual double GetPoints() {
std::cout << "GetPoints called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetIntVal(double _in) {
std::cout << "SetIntVal called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetPoints(double _in) {
std::cout << "SetPoints called from Organism" << std::endl;
throw "Organism method called!";}
virtual void AddPoints(double _in) {
std::cout << "AddPoints called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetHost(emp::Ptr<Organism> _in) {
std::cout << "SetHost called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetDead() {
std::cout << "SetDead called from Organism" << std::endl;
throw "Organism method called!";}
virtual bool GetDead() {
std::cout << "GetDead called from Organism" << std::endl;
throw "Organism method called!";
}
virtual void Process(emp::WorldPosition location)
{std::cout << "Process called from Organism" << std::endl;
throw "Organism method called!";
}
virtual double GetIncVal() {
std::cout << "GetIncVal called from Organism" << std::endl;
throw "Organism method called!";
}
virtual void SetIncVal(double _in){
std::cout << "SetIncVal called from Organism" << std::endl;
throw "Organism method called!";
}
virtual int GetAge() {
std::cout << "GetAge called from Organism" << std::endl;
throw "Organism method called!";
}
virtual void SetAge(int _in) {
std::cout << "SetAge called from Organism" << std::endl;
throw "Organism method called!";
}
virtual emp::Ptr<Organism> MakeNew(){
std::cout << "MakeNew called from Organism" << std::endl;
throw "Organism method called!";
}
//Symbiont functions
virtual void Mutate() {
std::cout << "Mutate called from Organism" << std::endl;
throw "Organism method called!";}
virtual emp::Ptr<Organism> Reproduce() {
std::cout << "Reproduce called from Organism" << std::endl;
throw "Organism method called!";}
virtual void VerticalTransmission(emp::Ptr<Organism> host_baby) {
std::cout << "VerticalTransmission called from Organism" << std::endl;
throw "Organism method called!";}
virtual void HorizontalTransmission(emp::WorldPosition location) {
std::cout << "HorizontalTransmission called from Organism" << std::endl;
throw "Organism method called!";}
virtual double ProcessResources(double sym_piece){
std::cout << "ProcessResources called from an Organism" << std::endl;
throw "Organism method called!";}
virtual double ProcessResources(double sym_piece, emp::Ptr<Organism> host){
std::cout << "ProcessResources called from an Organism" << std::endl;
throw "Organism method called!";}
virtual bool IsPhage(){
std::cout << "IsPhage called from an Organism" << std::endl;
throw "Organism method called!";}
virtual emp::Ptr<Organism> GetHost() {
std::cout << "GetHost called from an Organism" << std::endl;
throw "Organism method called!";}
virtual bool WantsToInfect() {
std::cout << "WantsToInfect called from an Organism" << std::endl;
throw "Organism method called!";}
virtual double GetInfectionChance() {
std::cout << "GetInfectionChance called from an Organism" << std::endl;
throw "Organism method called!";}
virtual void SetInfectionChance(double _in) {
std::cout << "SetInfectionChance called from an Organism" << std::endl;
throw "Organism method called!";}
virtual bool InfectionFails() {
std::cout << "InfectionFails called from an Organism" << std::endl;
throw "Organism method called!";}
virtual emp::Ptr<emp::Taxon<int>> GetTaxon() {
std::cout << "GetTaxon called from an Organism" << std::endl;
throw "Organism method called!";}
virtual void SetTaxon(emp::Ptr<emp::Taxon<int>> _in) {
std::cout << "SetTaxon called from an Organism" << std::endl;
throw "Organism method called!";}
//EfficientSymbiont functions
virtual double GetEfficiency() {
std::cout << "GetEfficiency called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetEfficiency(double _in) {
std::cout << "SetEfficiency called from Organism" << std::endl;
throw "Organism method called!";}
virtual emp::Ptr<Organism> Reproduce(std::string mode) {
std::cout << "EfficientSymbiont's Reproduce called from Organism" << std::endl;
throw "Organism method called!";}
virtual void Mutate(std::string mode) {
std::cout << "EfficientSymbiont's Mutate called from Organism" << std::endl;
throw "Organism method called!";}
//Host functions
virtual emp::vector<emp::Ptr<Organism>>& GetSymbionts() {
std::cout << "GetSymbionts called from Organism" << std::endl;
throw "Organism method called!";}
virtual emp::vector<emp::Ptr<Organism>>& GetReproSymbionts() {
std::cout << "GetReproSymbionts called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetResInProcess(double _in){
std::cout << "SetResInProcess called from Organism" << std::endl;
throw "Organism method called!";}
virtual double GetResInProcess(){
std::cout << "GetResInProcess called from Organism" << std::endl;
throw "Organism method called!";}
virtual double StealResources(double _intval){
std::cout << "GetResInProcess called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetSymbionts(emp::vector<emp::Ptr<Organism>> _in) {
std::cout << "SetSymbionts called from Organism" << std::endl;
throw "Organism method called!";}
virtual int AddSymbiont(emp::Ptr<Organism> _in)
{std::cout << "AddSymbiont called from Organism" << std::endl;
throw "Organism method called!";}
virtual void AddReproSym(emp::Ptr<Organism> _in) {
std::cout << "AddReproSym called from Organism" << std::endl;
throw "Organism method called!";}
virtual bool HasSym() {
std::cout << "HasSym called from Organism" << std::endl;
throw "Organism method called!";}
virtual bool IsHost() {
std::cout << "IsHost called from Organism" << std::endl;
throw "Organism method called!";}
virtual void DistribResources(double resources) {
std::cout << "DistribResources called from Organism" << std::endl;
throw "Organism method called!";}
virtual void ClearSyms() {
std::cout << "ClearSyms called from Organism" << std::endl;
throw "Organism method called!";}
virtual void ClearReproSyms() {
std::cout << "ClearReproSyms called from Organism" << std::endl;
throw "Organism method called!";}
//Bacterium functions
virtual double ProcessLysogenResources(double phage_inc_val){
std::cout << "ProcessLysogenResources called from Organism" << std::endl;
throw "Organism method called!";
}
//Phage functions
virtual double GetBurstTimer() {
std::cout << "GetBurstTimer called from Organism" << std::endl;
throw "Organism method called!";}
virtual void IncBurstTimer() {
std::cout << "IncBurstTimer called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetBurstTimer(double _in) {
std::cout << "SetBurstTimer called from Organism" << std::endl;
throw "Organism method called!";}
virtual double GetLysisChance() {
std::cout << "GetLysisChance called from Organism" << std::endl;
throw "Organism method called!";}
virtual double GetInductionChance() {
std::cout << "GetInductionChance called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetLysisChance(double _in){
std::cout << "SetLysisChance called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetInductionChance(double _in){
std::cout << "SetInductionChance called from Organism" << std::endl;
throw "Organism method called!";}
virtual void UponInjection() {
std::cout << "UponInjection called from Organism" << std::endl;
throw "Organism method called!";}
virtual void LysisBurst(emp::WorldPosition location) {
std::cout << "LysisBurst called from Organism" << std::endl;
throw "Organism method called!";}
virtual void LysisStep() {
std::cout << "LysisStep called from Organism" << std::endl;
throw "Organism method called!";}
virtual bool GetLysogeny() {
std::cout << "GetLysogeny called from Organism" << std::endl;
throw "Organism method called!";}
//Public goods game host functions
virtual void SetPool(double _in) {
std::cout << "SetPool called from Organism" << std::endl;
throw "Organism method called!";}
virtual void AddPool(double _in) {
std::cout << "AddPool called from Organism" << std::endl;
throw "Organism method called!";}
virtual void DistribPool() {
std::cout << "DistribPool called from Organism" << std::endl;
throw "Organism method called!";}
//Public goods game sym functions
virtual double GetDonation() {
std::cout << "GetDonation called from Organism" << std::endl;
throw "Organism method called!";}
virtual void SetDonation(double _in) {
std::cout << "SetDonation called from Organism" << std::endl;
throw "Organism method called!";}
virtual double ProcessPool() {
std::cout << "ProcessPool called from Organism" << std::endl;
throw "Organism method called!";}
};
#endif