11#ifndef FAUNA_POPULATION_INTERFACE_H
12#define FAUNA_POPULATION_INTERFACE_H
Type definitions of vectors of herbivore pointers.
std::vector< HerbivoreInterface * > HerbivoreVector
A list of herbivore interface pointers.
Definition: herbivore_vector.h:20
std::vector< const HerbivoreInterface * > ConstHerbivoreVector
A list of read-only herbivore interface pointers.
Definition: herbivore_vector.h:23
A container of herbivore objects.
Definition: population_interface.h:29
virtual ~PopulationInterface()
Virtual destructor.
Definition: population_interface.h:32
virtual void kill_nonviable()=0
Mark those herbivores as dead that are not viable.
virtual void kill_all()
Mark all herbivores as dead (see HerbivoreInterface::kill()).
Definition: population_interface.cpp:34
virtual const double get_ind_per_km2() const
Get individual density of all herbivores together [ind/km²].
Definition: population_interface.cpp:25
virtual HerbivoreVector get_list()=0
Get pointers to the herbivores (including dead ones).
virtual const double get_kg_per_km2() const
Get mass density of all herbivores together [kg/km²].
Definition: population_interface.cpp:16
virtual ConstHerbivoreVector get_list() const =0
Get pointers to the herbivores (including dead ones).
virtual void establish()=0
Create a set of new herbivores to establish a population.
virtual void purge_of_dead()=0
Delete all dead herbivores.
virtual void create_offspring(const double ind_per_km2)=0
Give birth to new herbivores.