8#ifndef FMTtransitionparser_Hm_included
9#define FMTtransitionparser_Hm_included
12#include <boost/regex.hpp>
24 class FMTTransitionMask;
25 class FMTGCBMTransition;
85 std::vector<Core::FMTTransitionMask>
getMaskTran(
const std::string& line,
const std::vector<Core::FMTTheme>& themes,
98 std::vector<Core::FMTTransition>
read(
const std::vector<Core::FMTTheme>& themes,
99 const std::vector<Core::FMTAction>& actions,
101 const std::string& location);
108 void write(
const std::vector<Core::FMTTransition>& transitions,
const std::string& location)
const;
115 void writeGCBM(
const std::vector<Core::FMTGCBMTransition>& transitions,
const std::string& location)
const;
122 std::vector<Core::FMTGCBMTransition>
readGCBM(
const std::string& location)
const;
126 const static boost::regex m_rxsection;
129 const static boost::regex m_rxlock;
132 const static boost::regex m_rxage;
135 const static boost::regex m_rxreplace;
138 const static boost::regex m_rxtyld;
#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