refactor the parser class and parsercontext to work with path_
Change-Id: Ia4c8b5d183c39883d9c7190cc74983578b22d46a
diff --git a/src/CTree.hpp b/src/CTree.hpp
index 6093ee1..8b42371 100644
--- a/src/CTree.hpp
+++ b/src/CTree.hpp
@@ -22,6 +22,17 @@
};
}
+struct nodeToString : public boost::static_visitor<std::string> {
+ std::string operator()(const nodeup_&) const
+ {
+ return "..";
+ }
+ template <class T>
+ std::string operator()(const T& node) const
+ {
+ return node.m_name;
+ }
+};
using NodeType = boost::variant<schema::container, schema::list>;
@@ -43,11 +54,11 @@
CTree();
bool nodeExists(const std::string& location, const std::string& name) const;
- bool isContainer(const std::string& location, const std::string& name) const;
+ bool isContainer(const path_& location, const std::string& name) const;
void addContainer(const std::string& location, const std::string& name);
- const std::set<std::string>& listKeys(const std::string& location, const std::string& name) const;
- bool listHasKey(const std::string& location, const std::string& name, const std::string& key) const;
- bool isList(const std::string& location, const std::string& name) const;
+ const std::set<std::string>& listKeys(const path_& location, const std::string& name) const;
+ bool listHasKey(const path_& location, const std::string& name, const std::string& key) const;
+ bool isList(const path_& location, const std::string& name) const;
void addList(const std::string& location, const std::string& name, const std::set<std::string>& keys);
private: