-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvariableOrderComp.cpp
More file actions
34 lines (25 loc) · 1.17 KB
/
variableOrderComp.cpp
File metadata and controls
34 lines (25 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <vector>
// #include <unordered_set>
#include <string>
#include <functional>
#include "variableOrderComp.h"
ExtendedVariableOrder::~ExtendedVariableOrder() {}
ExtendedVariableOrder::ExtendedVariableOrder(variable name, std::vector<variable> key)
: m_name{name}, m_key{key} {}
const variable& ExtendedVariableOrder::getName() const { return m_name; }
const std::vector<variable>& ExtendedVariableOrder::getKey() const { return m_key; }
bool ExtendedVariableOrderLeaf::isLeaf() const { return true; }
ExtendedVariableOrderLeaf::ExtendedVariableOrderLeaf(variable name, std::vector<variable> key)
: ExtendedVariableOrder{name, key} {}
bool ExtendedVariableOrderNode::isLeaf() const { return false; }
const std::vector<ExtendedVariableOrder*>& ExtendedVariableOrderNode::getChildren() const {
return m_children;
}
void ExtendedVariableOrderNode::addChild(ExtendedVariableOrder* child) { m_children.push_back(child); }
ExtendedVariableOrderNode::~ExtendedVariableOrderNode() {
for (auto x : m_children) {
delete x;
}
}
ExtendedVariableOrderNode::ExtendedVariableOrderNode(variable name, std::vector<variable> key)
: ExtendedVariableOrder{name, key}, m_children{} {}