FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTTransitionParser.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#ifndef FMTtransitionparser_Hm_included
9#define FMTtransitionparser_Hm_included
10
11#include "FMTParser.h"
12#include <boost/regex.hpp>
13#include "string"
14#include <vector>
15
16
17namespace Core {
18 class FMTMask;
19 class FMTYields;
20 class FMTTransition;
21 class FMTAction;
22 class FMTTheme;
23 class FMTConstants;
24 class FMTTransitionMask;
25 class FMTGCBMTransition;
26}
27
28namespace Parser
29{
30// DocString: FMTTransitionParser
35 {
36 public:
37 // DocString: FMTTransitionParser()
42 // DocString: ~FMTTransitionParser()
47 // DocString: FMTTransitionParser(const FMTTransitionParser&)
53 // DocString: FMTTransitionParser::FMTTransitionParser=
59 FMTTransitionParser& operator = (const FMTTransitionParser& rhs)=default;
60 // DocString: FMTTransitionParser::getSource
71 Core::FMTMask getSource(std::string& line, Core::FMTSpec& spec,const std::vector<Core::FMTTheme>& themes,
72 Core::FMTsection section,const Core::FMTConstants& constant,
73 const Core::FMTYields& ylds);
74 // DocString: FMTTransitionParser::getMaskTran
85 std::vector<Core::FMTTransitionMask> getMaskTran(const std::string& line,const std::vector<Core::FMTTheme>& themes,
86 const Core::FMTConstants& constants, const Core::FMTYields& ylds,
87 const Core::FMTMask& sourcemask, int& replaced);
88 // DocString: FMTTransitionParser::read
98 std::vector<Core::FMTTransition>read(const std::vector<Core::FMTTheme>& themes,
99 const std::vector<Core::FMTAction>& actions,
100 const Core::FMTYields& ylds,const Core::FMTConstants& constants,
101 const std::string& location);
102 // DocString: FMTTransitionParser::write
108 void write(const std::vector<Core::FMTTransition>& transitions,const std::string& location) const;
109 // DocString: FMTTransitionParser::writeGCBM
115 void writeGCBM(const std::vector<Core::FMTGCBMTransition>& transitions, const std::string& location) const;
116 // DocString: FMTTransitionParser::readGCBM
122 std::vector<Core::FMTGCBMTransition>readGCBM(const std::string& location) const;
123 private:
124 // DocString: FMTTransitionParser::m_rxsection
126 const static boost::regex m_rxsection;
127 // DocString: FMTTransitionParser::m_rxlock
129 const static boost::regex m_rxlock;
130 // DocString: FMTTransitionParser::m_rxage
132 const static boost::regex m_rxage;
133 // DocString: FMTTransitionParser::m_rxreplace
135 const static boost::regex m_rxreplace;
136 // DocString: FMTTransitionParser::m_rxtyld
138 const static boost::regex m_rxtyld;
139 };
140}
141#endif // FMTtransitionparser_Hm_included
#define FMTEXPORT
Definition: FMTutility.h:125
Class holding the constants defined in the constants section of a model, used by the parsers.
Definition: FMTConstants.h:28
Core class holding, as a boost dynamic bitset, which theme attributes are part of a mask.
Definition: FMTMask.h:96
FMTList containing multiple yield handlers as seen in the yield section, holding the information rela...
Definition: FMTYields.h:44
Main parent class of all the parsers in FMT.
Definition: FMTParser.h:72
Parser reading and writing transition sections into a vector of FMTTransition.
Definition: FMTTransitionParser.h:35
FMTTransitionParser(const FMTTransitionParser &rhs)=default
Copy constructor for FMTTransitionParser.
Core::FMTMask getSource(std::string &line, Core::FMTSpec &spec, const std::vector< Core::FMTTheme > &themes, Core::FMTsection section, const Core::FMTConstants &constant, const Core::FMTYields &ylds)
Return the mask of a transition and fill up its specification.
void writeGCBM(const std::vector< Core::FMTGCBMTransition > &transitions, const std::string &location) const
Write a vector of GCBM transitions to a text file.
~FMTTransitionParser()=default
Default destructor for FMTTransitionParser.
std::vector< Core::FMTGCBMTransition > readGCBM(const std::string &location) const
Read GCBM transitions from a text file.
std::vector< Core::FMTTransitionMask > getMaskTran(const std::string &line, const std::vector< Core::FMTTheme > &themes, const Core::FMTConstants &constants, const Core::FMTYields &ylds, const Core::FMTMask &sourcemask, int &replaced)
Return the transition masks from a single transition line.
void write(const std::vector< Core::FMTTransition > &transitions, const std::string &location) const
Write a vector of transitions to a file.
std::vector< Core::FMTTransition > read(const std::vector< Core::FMTTheme > &themes, const std::vector< Core::FMTAction > &actions, const Core::FMTYields &ylds, const Core::FMTConstants &constants, const std::string &location)
Read a vector of transitions.
FMTTransitionParser()
Default constructor for FMTTransitionParser.
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34
FMTsection
Enumerator describing the sections of a Woodstock model.
Definition: FMTutility.h:32
Namespace handling all FMT's parsers. Everything related to I/O should be located in this namespace.
Definition: FMTActionParser.h:27