-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvariableOrder.cpp
More file actions
38 lines (27 loc) · 1.27 KB
/
variableOrder.cpp
File metadata and controls
38 lines (27 loc) · 1.27 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
35
36
37
38
#include <vector>
#include <string>
#include <cassert>
#include "variableOrder.h"
bool ExtendedVariableOrder::isLeaf() const { return m_children.empty(); }
bool ExtendedVariableOrder::isCategorical() const { return m_categorical; }
const variable& ExtendedVariableOrder::getName() const { return m_name; }
const std::vector<variable>& ExtendedVariableOrder::getKey() const { return m_key; }
const std::vector<ExtendedVariableOrder>& ExtendedVariableOrder::getChildren() const { return m_children; }
void ExtendedVariableOrder::findLeaves(std::vector<ExtendedVariableOrder*>& leaves) {
if (isLeaf()) {
leaves.push_back(this);
return;
}
for (auto& x : m_children) {
x.findLeaves(leaves);
}
}
void ExtendedVariableOrder::addChild(const ExtendedVariableOrder& child) { m_children.push_back(child); }
// void ExtendedVariableOrder::addKey(const variable& var) { m_key.insert(var); }
void ExtendedVariableOrder::convertName(nameKey) { m_name += "_conv"; }
ExtendedVariableOrder::~ExtendedVariableOrder() {}
ExtendedVariableOrder::ExtendedVariableOrder(const variable& name, const std::vector<variable>& key,
const bool categorical)
: m_name{name}, m_key{key}, m_children{}, m_categorical{categorical} {
assert(name.size() > 0);
}