FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTYieldRequest.h
Go to the documentation of this file.
1/*
2Copyright (c) 2019 Gouvernement du Québec
3
4SPDX-License-Identifier: LiLiQ-R-1.1
5License-Filename: LICENSES/EN/LiLiQ-R11unicode.txt
6*/
7
8
9
10#include "FMTObject.h"
11#include "FMTMask.h"
12#include <vector>
13#include <unordered_map>
14
15
16namespace Graph
17{
18 class FMTGraphVertexToYield;
19}
20
21
22
23#ifndef FMTYIELDREQUEST_Hm_included
24#define FMTYIELDREQUEST_Hm_included
25
26namespace Core
27{
28 class FMTDevelopment;
29 class FMTYieldHandler;
30 class FMTYields;
31 // DocString: FMTYieldRequest
36 class FMTYieldRequest final : public FMTObject
37 {
38 public:
39 typedef typename std::vector<std::pair<FMTMask, std::unique_ptr<FMTYieldHandler>>>::const_iterator const_iterator;
40 // DocString: FMTYieldRequest(const FMTDevelopment&, const Graph::FMTGraphVertexToYield&)
46 FMTYieldRequest(const FMTDevelopment& ldevelopment,
47 const Graph::FMTGraphVertexToYield& lgraphvertex);
48 // DocString: FMTYieldRequest(const FMTDevelopment&, const FMTYieldRequest&)
54 FMTYieldRequest(const FMTDevelopment& ldevelopment,
55 const FMTYieldRequest& oldrequest);
56 // DocString: FMTYieldRequest(const FMTDevelopment&)
61 FMTYieldRequest(const FMTDevelopment& ldevelopment);
62 // DocString: FMTYieldRequest()
66 FMTYieldRequest() = default;
67 // DocString: FMTYieldRequest(const FMTYieldRequest&)
72 FMTYieldRequest(const FMTYieldRequest& rhs) = default;
73 // DocString: FMTYieldRequest::operator=
80 // DocString: FMTYieldRequest::getDevelopment
86 // DocString: FMTYieldRequest::getDatas
91 const std::vector<const_iterator>&getDatas() const;
92 // DocString: FMTYieldRequest::getResumeMask
98 // DocString: FMTYieldRequest::getVertexGraphInfo
104 // DocString: FMTYieldRequest::getFirstSeen
110 const_iterator getFirstSeen(const std::string& p_yield) const;
111 private:
112 friend class FMTYields;
113 mutable std::vector<const_iterator>m_datas;
114 mutable FMTMask m_resumeMask;
115 mutable FMTYields const* m_yields;
116 FMTDevelopment const* m_development;
117 Graph::FMTGraphVertexToYield const* m_graphvertex;
118 // DocString: FMTYieldRequest::_updateData
123 void _updateData(const FMTYields& yields) const;
124 };
125
126
127
128}
129
130
131#endif // FMTYLD_Hm_included
Base class of FMTActualDevelopment and FMTFuturDevelopment representing a forest stand.
Definition: FMTDevelopment.h:44
Core class holding, as a boost dynamic bitset, which theme attributes are part of a mask.
Definition: FMTMask.h:96
Base class of multiple FMT classes holding a shared exception handler pointer and logger.
Definition: FMTObject.h:49
Request for yield values using a development and optionally a graph vertex.
Definition: FMTYieldRequest.h:37
FMTYieldRequest(const FMTDevelopment &ldevelopment, const FMTYieldRequest &oldrequest)
Construct a yield request from a development and a previous request.
FMTYieldRequest(const FMTDevelopment &ldevelopment, const Graph::FMTGraphVertexToYield &lgraphvertex)
Construct a yield request from a development and a graph vertex.
std::vector< std::pair< FMTMask, std::unique_ptr< FMTYieldHandler > > >::const_iterator const_iterator
Definition: FMTYieldRequest.h:39
const_iterator getFirstSeen(const std::string &p_yield) const
Return the first data iterator for a given yield.
const std::vector< const_iterator > & getDatas() const
Return the yield data iterators of the request.
FMTYieldRequest & operator=(const FMTYieldRequest &rhs)=default
Copy assignment operator for FMTYieldRequest.
FMTYieldRequest()=default
Default constructor for FMTYieldRequest.
FMTYieldRequest(const FMTYieldRequest &rhs)=default
Copy constructor for FMTYieldRequest.
const Core::FMTMask & getResumeMask() const
Return the resume mask of the request.
FMTYieldRequest(const FMTDevelopment &ldevelopment)
Construct a yield request from a development, without reference to a graph.
const Graph::FMTGraphVertexToYield * getVertexGraphInfo() const
Return the graph vertex information of the request.
const FMTDevelopment & getDevelopment() const
Return the development of the request.
FMTList containing multiple yield handlers as seen in the yield section, holding the information rela...
Definition: FMTYields.h:44
Adapter pointing to a vertex of a line graph or a full graph and its model, used to answer a generic ...
Definition: FMTGraphVertexToYield.h:31
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34
Definition: FMTAreaParser.h:35