From 6f41bc91806c0c6bc23073a1a0cfdab2d82dbc2f Mon Sep 17 00:00:00 2001 From: modeco80 Date: Mon, 21 Oct 2024 19:56:43 -0400 Subject: [PATCH] clean up tree root detection --- tree.hpp | 2 ++ tree_test.cpp | 2 +- vxorg.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) 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) {