+ // get the stub hierarchy for this tree
+ std::string DocumentTree::stub_hierarchy () {
+ std::list<std::string> levels;
+ DocumentTree *par = this->get_parent();
+ while (par!= nullptr) {
+ levels.push_front (par->get_stub());
+ par = par->get_parent ();
+ }
+ std::string stub_str;
+ for (std::string level : levels) {
+ // if stub is empty, don't append a /
+ if (level != "")
+ stub_str += level + "/";
+ }
+ return stub_str;
+ }
+