+void VectorMergeJoin::mergeJoin(vector<int32_t> v1, vector<int32_t> v2){
+ vector<int32_t>::iterator i=resultVector.begin();
+ vector<int32_t>::iterator i1=v1.begin();
+ vector<int32_t>::iterator i2=v2.begin();
+ int k;
+
+ while((i1!=v1.end()) && (i2!=v2.end())){
+ k = strcmp((const char*) tree->get_text(*i1),
+ (const char*) tree->get_text(*i2));
+ if (k==0)
+ {
+ i = resultVector.insert( i, *i1 );
+ //advance left
+ i1++;
+ //advance right
+ i2++;
+ }
+ else if (k<0) i1++; //advance left
+ else i2++; //advance right
+ }
+}
+
+// class prefix_treeNode {
+// public:
+ // std::map<char, prefix_treeNode> Children;
+// std::array<prefix_treeNode, 256> Children;
+// uint32 textID;
+//};
+
+using namespace SXSI;