Modular Megafauna Model 1.1.5
A physiological, dynamic herbivore simulator in C++.
Loading...
Searching...
No Matches
feed_herbivores.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020 W. Traylor <wolfgang.traylor@senckenberg.de>
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
11#ifndef FAUNA_FEED_HERBIVORES_H
12#define FAUNA_FEED_HERBIVORES_H
13
14#include <memory>
15#include "herbivore_vector.h"
16
17namespace Fauna {
18// Forward Declarations
19class DistributeForage;
20class HabitatForage;
21
24 public:
26
32
35
37 void operator=(FeedHerbivores const&) = delete;
38
41
43
50 void operator()(HabitatForage& available,
51 const HerbivoreVector& herbivores) const;
52
53 private:
54 std::unique_ptr<DistributeForage> distribute_forage;
55};
56
57} // namespace Fauna
58
59#endif // FAUNA_FEED_HERBIVORES_H
Function object to feed herbivores.
Definition: feed_herbivores.h:23
std::unique_ptr< DistributeForage > distribute_forage
Definition: feed_herbivores.h:54
void operator=(FeedHerbivores const &)=delete
Delete copy assignment because of pointer ownership.
FeedHerbivores(FeedHerbivores const &)=delete
Delete copy constructor because of pointer ownership.
void operator()(HabitatForage &available, const HerbivoreVector &herbivores) const
Feed the herbivores.
Definition: feed_herbivores.cpp:28
~FeedHerbivores()
Destructor.
Definition: feed_herbivores.cpp:26
All values for large herbivore forage in a Habitat.
Definition: habitat_forage.h:21
Type definitions of vectors of herbivore pointers.
Definition: average.h:16
std::vector< HerbivoreInterface * > HerbivoreVector
A list of herbivore interface pointers.
Definition: herbivore_vector.h:20
Interface for a forage distribution algorithm.
Definition: forage_distribution_algorithms.h:22