aboutsummaryrefslogtreecommitdiffstats
path: root/include/diagram/branchstatement.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/diagram/branchstatement.hpp')
-rw-r--r--include/diagram/branchstatement.hpp35
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_ */