Change select_* functions from unordered_set<tag_t> to sorted tag_t[]
[SXSI/XMLTree.git] / xml-tree.hpp
index 950f0ef..c2b86ca 100644 (file)
@@ -3,7 +3,6 @@
 
 
 #include <cstdint>
-#include <unordered_set>
 #include <unordered_map>
 #include <bp/bp.h>
 #include <bp/bp-darray.h>
@@ -88,11 +87,10 @@ public:
   inline node_t tagged_following_before(node_t, tag_t, node_t) const;
   inline node_t tagged_child(node_t, tag_t) const;
   inline node_t tagged_sibling(node_t, tag_t) const;
-  node_t select_child(node_t, std::unordered_set<tag_t>*) const;
-  node_t select_descendant(node_t, std::unordered_set<tag_t>*) const;
-  node_t select_sibling(node_t, std::unordered_set<tag_t>*) const;
-  node_t select_following_before (node_t,
-                                  std::unordered_set<tag_t>*, node_t) const;
+  node_t select_child(node_t, tag_t*) const;
+  node_t select_descendant(node_t, tag_t*) const;
+  node_t select_sibling(node_t, tag_t*) const;
+  node_t select_following_before (node_t, tag_t*, node_t) const;
   inline node_t closing(node_t) const;
 
   //Text functions
@@ -111,7 +109,7 @@ public:
   //I/O functions
   void save(int, char*);
   static xml_tree* load(int, char*, bool, int);
-  void print(int, node_t, bool no_text=false);
+  void print(node_t, int, bool no_text=false);
   void flush(int);
 
 private: