aboutsummaryrefslogtreecommitdiffstats
path: root/src/diagram/Scope.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/diagram/Scope.hpp')
-rw-r--r--src/diagram/Scope.hpp59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/diagram/Scope.hpp b/src/diagram/Scope.hpp
deleted file mode 100644
index bf85759..0000000
--- a/src/diagram/Scope.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Created on: Nov 28, 2017
- * Author: naopross
- */
-
-#ifndef SRC_DIAGRAM_SCOPE_HPP_
-#define SRC_DIAGRAM_SCOPE_HPP_
-
-#include "Statement.hpp"
-
-namespace samb {
-
-/* The Scope is a forward-iterable object that contains statements.
- * A scope is also a valid type of statement.
- *
- * The Scope object is used inside other complex types of statements such as
- * BranchStatement or a IteratorStatement, to hold the statements within their
- * scope.
- */
-class Scope : public Statement {
-public:
- class iterator {
- public:
- explicit iterator(pointer statement);
- ~iterator();
-
- iterator& operator++();
- iterator& operator++(int);
-
- Statement& operator*() const;
- Statement::pointer operator->() const;
-
- private:
- Statement::pointer m_current;
- };
-
- explicit Scope(std::string label);
- Scope(std::string label, Statement::pointer first);
- ~Scope();
-
- iterator insert_after(iterator it, Statement::pointer statement);
- iterator erase_after(iterator it);
-
- /* accessors */
- std::size_t size() const { return m_size; }
-
- /* iterator */
- iterator begin() { return iterator(m_head); }
- iterator end() { return iterator(m_tail); }
-
-private:
- Statement::pointer m_head;
- Statement::pointer m_tail;
- std::size_t m_size = 0;
-};
-
-} /* namespace samb */
-
-#endif /* SRC_DIAGRAM_SCOPE_HPP_ */