11 #include <sbml/math/ASTNode.h>
39 typedef std::map<std::string, const libsbml::ASTNode*> Map;
40 typedef std::map<std::string, const libsbml::ASTNode*>::const_iterator _const_iterator;
51 const libsbml::ASTNode* second;
60 return end != other.end;
65 this->second = o.second;
86 ConstIterator(_const_iterator i) : second(i->second), end(false)
88 assert(second &&
"must have valid ASTNode pointer");
102 std::map<std::string, const libsbml::ASTNode*> floatingSpecies;
103 std::map<std::string, const libsbml::ASTNode*> boundarySpecies;
104 std::map<std::string, const libsbml::ASTNode*> compartments;
105 std::map<std::string, const libsbml::ASTNode*> globalParameters;
106 std::map<std::string, const libsbml::ASTNode*> speciesReferences;
114 const ConstIterator find(
const std::map<std::string, const libsbml::ASTNode*>::key_type& x)
const
116 _const_iterator result;
118 if ((result = floatingSpecies.find(x)) != floatingSpecies.end())
122 else if ((result = boundarySpecies.find(x)) != boundarySpecies.end())
126 else if ((result = compartments.find(x)) != compartments.end())
130 else if ((result = globalParameters.find(x)) != globalParameters.end())
134 else if ((result = speciesReferences.find(x)) != speciesReferences.end())
144 const ConstIterator& end()
const
syntatically the same as a std::map<std::string, const libsbml::ASTNode*>::const_iterator
Definition: SymbolForest.h:48
Similar to a symbol table, except instead of a name / value, we have a name / tree,...
Definition: SymbolForest.h:37
const ConstIterator find(const std::map< std::string, const libsbml::ASTNode * >::key_type &x) const
find and end are designed to work identically to the std::map::find.
Definition: SymbolForest.h:114