fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <set>
  4. #include <map>
  5. #include <algorithm>
  6.  
  7.  
  8. struct cmp {
  9. bool operator()(std::string i, const std::pair<std::string,std::string>& p) const
  10. {
  11. return i < p.first;
  12. }
  13.  
  14. bool operator()(const std::pair<std::string, std::string>& p, std::string i) const
  15. {
  16. return p.first < i;
  17. }
  18. };
  19.  
  20. int main(){
  21.  
  22. std::set<std::string> s1 {"--name", "--id"}; //Conditionally defined mandatory parameters
  23. std::map<std::string, std::string> s2 { {"--name","Admin"}, {"--group","Group1"}}; //options given by user
  24.  
  25. std::set<std::string> result;
  26.  
  27. std::set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(),
  28. std::inserter(result, result.end()), cmp());
  29.  
  30. std::cout << *result.begin() << '\n';
  31.  
  32. return 0;
  33. }
Success #stdin #stdout 0s 16072KB
stdin
Standard input is empty
stdout
--id