33 #include <boost/variant.hpp>
40 inline bool isNodeAnAlias(
PathNode const &node) {
41 return boost::get<elements::AliasElement>(&node.value()) !=
nullptr;
45 std::vector<std::string> badPaths;
47 tree.getRoot(), [&tree, &badPaths](
PathNode const &node) {
49 auto result = resolveTreeNode(tree, fullPath);
50 if (!result && isNodeAnAlias(node)) {
53 badPaths.emplace_back(std::move(fullPath));
A tree representation, with path/url syntax, of the known OSVR system.
::osvr::util::TreeNode< PathElement > PathNode
The specific tree node type that contains a path element.
Header including PathTree.h and all additional headers needed to define related types.
std::string getFullPath(PathNode const &node)
Gets the absolute path for the given node.
void traverseWith(T &node, F &&functor)
A method to handle visiting every node in a tree with a lambda or other by-value function object...
std::vector< std::string > resolveFullTree(PathTree &tree)
Traverse the given path tree, resolving all aliases found to fully populate any generated sensor targ...