diff --git a/tree.hpp b/tree.hpp index bd00eae..e8d3798 100644 --- a/tree.hpp +++ b/tree.hpp @@ -24,6 +24,8 @@ struct Tree { bool is_leaf() const { return children.size() == 0; } + bool is_root() const { return parent == nullptr; } + Node* parent_node() { return parent; } Node* create_leaf(const T& item) { diff --git a/tree_test.cpp b/tree_test.cpp index d46c4ec..4ecb0c2 100644 --- a/tree_test.cpp +++ b/tree_test.cpp @@ -21,7 +21,7 @@ void test_tree() { for(auto i = 0; i < tab_count; ++i) std::printf("\t"); - if(data.empty()) { + if(node->is_root()) { std::printf("(root)\n"); } else { std::printf("%s\n", data.c_str()); diff --git a/vxorg.cpp b/vxorg.cpp index a4969ee..951e6c6 100644 --- a/vxorg.cpp +++ b/vxorg.cpp @@ -22,7 +22,7 @@ int main() { } } - if(data.name.empty()) { + if(node->is_root()) { std::printf("(root)\n"); } else { if(data.is_sample) {