fork(1) download
  1. #include <set>
  2. #include <iostream>
  3.  
  4. struct KVP
  5. {
  6. std::string key, value;
  7.  
  8. KVP(const std::string& k, const std::string& v)
  9. : key(k), value(v)
  10. {
  11. }
  12.  
  13. bool operator<(const KVP& other) const
  14. {
  15. return value < other.value;
  16. }
  17. };
  18.  
  19. int main()
  20. {
  21. std::set<KVP> orderedpairs;
  22. orderedpairs.insert(KVP("key1", "z"));
  23. orderedpairs.insert(KVP("key2", "k"));
  24. orderedpairs.insert(KVP("key3", "b"));
  25.  
  26. for (std::set<KVP>::const_iterator it = orderedpairs.begin();
  27. it != orderedpairs.end();
  28. ++it)
  29. {
  30. std::cout << "k: '" << it->key << "'\n" <<
  31. "v: '" << it->value << "'\n";
  32. }
  33. }
  34.  
Success #stdin #stdout 0s 2860KB
stdin
Standard input is empty
stdout
k: 'key3'
v: 'b'
k: 'key2'
v: 'k'
k: 'key1'
v: 'z'