8#ifndef FMTOUTPUTNODE_Hm_included
9#define FMTOUTPUTNODE_Hm_included
164 operator std::string()
const;
205 int setToGraph(std::vector<int>& targetedperiods,
int period,
int max_period);
219 void fillUpEquation(std::map<std::string,std::vector<std::string>>& allequations,
220 const std::map<std::string, double>& graphvalues,
221 const std::vector<std::string>& equation,
const size_t& nodeid)
const;
#define FMTEXPORT
Definition: FMTutility.h:125
Core class holding, as a boost dynamic bitset, which theme attributes are part of a mask.
Definition: FMTMask.h:96
Hasher for output nodes.
Definition: FMTOutputNode.h:265
size_t operator()(const FMTOutputNode &node) const
Return the hash of an output node.
Comparator comparing output nodes by origin.
Definition: FMTOutputNode.h:247
bool operator()(const FMTOutputNode &node1, const FMTOutputNode &node2) const
Compare two output nodes by origin.
Comparator comparing output nodes by value.
Definition: FMTOutputNode.h:229
bool operator()(const FMTOutputNode &node1, const FMTOutputNode &node2) const
Compare two output nodes by value.
Node of an output representing a set of developments in the graph, holding a source,...
Definition: FMTOutputNode.h:25
~FMTOutputNode()=default
Default destructor for FMTOutputNode.
void fillUpEquation(std::map< std::string, std::vector< std::string > > &allequations, const std::map< std::string, double > &graphvalues, const std::vector< std::string > &equation, const size_t &nodeid) const
Fill up the equation of the output node.
FMTOutputNode(const Core::FMTMask &generalmask, const std::string &actionaggregate)
Construct a general node targeting an action name or actions aggregate, for use with the scheduler he...
int getOutputId() const
Return the output id of the output node.
Definition: FMTOutputNode.h:139
bool isPastPeriod() const
Return true if the output node targets a past period.
size_t hashForValue() const
Return the hash of the output node for its value.
bool isSubsetOf(const FMTOutputNode &rhs) const
Return true if this output node is a subset of another.
FMTOutputNode(const FMTOutputNode &rhs)
Copy constructor for FMTOutputNode.
FMTOutputSource factor
Definition: FMTOutputNode.h:28
FMTOutputNode setPeriod(int period) const
Return a copy of the output node set to a given period.
bool allowCashDeduction() const
Return true if the output node allows cache deduction.
bool isSameButDifferentAction(const FMTOutputNode &rhs) const
Return true if this output node is the same as another but with a different action.
bool singlePeriod() const
Return true if the output node covers a single period.
std::string getHashString() const
Return the hash string of the output node.
FMTOutputNode()
Default constructor for FMTOutputNode.
bool isActionBased() const
Return true if the output node is action based.
Definition: FMTOutputNode.h:148
int setToGraph(std::vector< int > &targetedperiods, int period, int max_period)
Set the output node to the graph for the targeted periods.
FMTOutputSource source
Definition: FMTOutputNode.h:27
double constant
Definition: FMTOutputNode.h:29
bool isSubsetOf(const FMTOutputNode &rhs, const std::vector< Core::FMTAction > &actions) const
Return true if this output node is a subset of another considering the actions.
void fillHashMaskSpec(Core::FMTMask &baseMask) const
Fill a base mask with the hash mask specification of the output node.
bool isNull() const
Return true if the output node is null.
FMTOutputNode(const FMTOutputSource &lsource, const FMTOutputSource &lfactor, const double &lconstant)
Construct an output node from a source, a factor and a constant.
bool multiPeriod() const
Return true if the output node covers multiple periods.
Core::FMTMask getHashMask() const
Return the hash mask of the output node.
size_t hash() const
Return the hash of the output node.
bool isSameValues(const FMTOutputNode &rhs) const
Return true if this output node has the same values as another.
Source of an output holding a mask, a target and values, used to compute an output.
Definition: FMTOutputSource.h:44
int getOutputOrigin() const
Return the output origin.
Definition: FMTOutputSource.h:138
bool isAction() const
Return true if the output source is an action.
Definition: FMTOutputSource.h:490
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34