diff options
Diffstat (limited to 'include/diagram/branchstatement.hpp')
-rw-r--r-- | include/diagram/branchstatement.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/diagram/branchstatement.hpp b/include/diagram/branchstatement.hpp new file mode 100644 index 0000000..b7cc495 --- /dev/null +++ b/include/diagram/branchstatement.hpp @@ -0,0 +1,35 @@ +/* + * BranchStatement.hpp + * + * Created on: Nov 28, 2017 + * Author: naopross + */ + +#ifndef SRC_DIAGRAM_BRANCHSTATEMENT_HPP_ +#define SRC_DIAGRAM_BRANCHSTATEMENT_HPP_ + +#include "Statement.hpp" + +#include <map> + +namespace samb { + +class BranchStatement: public Statement { +public: + BranchStatement(Type t, const std::string& condition, pointer next); + + /* accessors */ + const std::map<std::string, pointer>& branches() const { return m_branches; } + std::size_t branchesCount() const { return m_branchesCount; } + + inline const std::string& condition() const { return text(); } + inline void condition(const std::string& condition) { return text(condition); } + +private: + std::map<std::string, pointer> m_branches; + std::size_t m_branchesCount = 0; +}; + +} /* namespace samb */ + +#endif /* SRC_DIAGRAM_BRANCHSTATEMENT_HPP_ */ |