StringSet operator + (const StringSet& ss1, const StringSet& ss2){ StringSet merged; for (size_t i = 0; i < ss1.size(); ++i) merged.addString(ss1.at(i)); for (size_t i = 0; i < ss2.size(); ++i) merged.addString(ss2.at(i)); return merged; }
StringSet operator * (const StringSet& ss1, const StringSet& ss2){ StringSet intersection; for (size_t i = 0; i < ss1.size(); ++i){ for (size_t j = 0; j < ss2.size(); ++j){ if (ss1.at(i) == ss2.at(j)) intersection.addString(ss2.at(j)); } } return intersection; }
StringSet operator + (const StringSet& s1, const StringSet& s2) { StringSet temp = s1; for (unsigned int i = 0; i < s2.setVector.size(); i++) { if (!temp.isAlreadyInVector(s2.at(i))) { temp.setVector.push_back(s2.at(i)); } } return temp; }
StringSet operator * (const StringSet& s1, const StringSet& s2) { StringSet temp = s1; StringSet returnSet; for (unsigned int i = 0; i < s2.setVector.size(); i++) { if (temp.isAlreadyInVector(s2.at(i))) { returnSet.setVector.push_back(s2.at(i)); } } return returnSet; }