8#ifndef FMTyieldparser_H_INCLUDED
9#define FMTyieldparser_H_INCLUDED
14#include <boost/regex.hpp>
27 class FMTyieldhandler;
44 const static boost::regex rxyieldtype;
47 const static boost::regex rxcomplex;
50 const static boost::regex rxeqs;
53 const static boost::regex rxdiscount;
56 const static boost::regex rxpredictor;
77 std::vector<std::pair<
Core::FMTmask,std::unique_ptr<Core::FMTyieldhandler>>>::iterator actualyield,
78 const std::vector<std::string>& values)
const;
84 std::vector<std::pair<
Core::FMTmask, std::unique_ptr<Core::FMTyieldhandler>>>::iterator actualyield,
85 const std::string& yld)
const;
90 void checkpreexisting(
const std::vector<std::string>& preexists)
const;
95 bool isfunction(
const std::string& strfunction)
const;
101 double getnumwithproportion(
const std::string& value,
const Core::FMTconstants& constants,
102 const std::vector<double>& proportions,
const int& location);
110 const std::vector<Core::FMTtheme>& themes);
120 std::map<std::string, double>getindexvalues(
const Core::FMTmask& mask,
121 const std::vector<Core::FMTtheme>& themes,
122 const std::vector<std::string>&indexvalues,
const Core::FMTconstants& constants)
const;
127 std::unique_ptr<Core::FMTyieldmodel>readyieldmodel(
const std::string& modelname, std::vector<std::string>& modelYields,
const Core::FMTmask& mainmask)
const;
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTconstants.hpp:29
Definition: FMTdata.hpp:32
Definition: FMTmask.hpp:96
Definition: FMTyields.hpp:40
Definition: FMTparser.hpp:66
Definition: FMTyieldparser.hpp:40
void write(const Core::FMTyields &yields, const std::string &location) const
FMTyieldparser(const FMTyieldparser &rhs)=default
~FMTyieldparser()=default
Core::FMTyields read(const std::vector< Core::FMTtheme > &themes, const Core::FMTconstants &constants, const std::string &location)
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31
FMTyldtype
Definition: FMTutility.hpp:45
FMTyieldparserop
Definition: FMTutility.hpp:53
Namespace handling all FMT's parsers. Everything related to I/O should be located in this namespace.
Definition: FMTactionparser.hpp:26