#include <utility>
#include <algorithm>
#include <string>
#include <iostream>
#include <map>
using namespace std;
int main () {
std::map<string,int> map1;
map1["ymax"]=10;
map1["ymin"]=16;
map1["xval"]=10;
std::map<string,int> map2;
map2["ymax"]=16;
map2["ymin"]=20;
map2["xval"]=28;
std::map<string,int> map3;
map3["ymax"]=16;
map3["ymin"]=20;
map3["xval"]=10;
vector<map<string,int>> v{map1, map2, map3};
std::sort(v.begin(), v.end(), [](std::map<string,int> &lhs, std::map<string,int> &rhs){
return tie(lhs["ymax"], lhs["ymin"], lhs["xval"]) < tie(rhs["ymax"], rhs["ymin"], rhs["xval"]);
});
for(map<string,int> my_map : v){
cout << "ymax" << ", " << my_map["ymax"] << endl;
cout << "ymin" << ", " << my_map["ymin"] << endl;
cout << "xval" << ", " << my_map["xval"] << endl;
cout << "=======================\n";
}
}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPG1hcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbiAoKSB7CgoKICAgc3RkOjptYXA8c3RyaW5nLGludD4gbWFwMTsKCQoJbWFwMVsieW1heCJdPTEwOwoJbWFwMVsieW1pbiJdPTE2OwoJbWFwMVsieHZhbCJdPTEwOwoJCglzdGQ6Om1hcDxzdHJpbmcsaW50PiBtYXAyOwoJCgltYXAyWyJ5bWF4Il09MTY7CgltYXAyWyJ5bWluIl09MjA7CgltYXAyWyJ4dmFsIl09Mjg7CgkKCXN0ZDo6bWFwPHN0cmluZyxpbnQ+IG1hcDM7CgkKCW1hcDNbInltYXgiXT0xNjsKCW1hcDNbInltaW4iXT0yMDsKCW1hcDNbInh2YWwiXT0xMDsKCiAgICB2ZWN0b3I8bWFwPHN0cmluZyxpbnQ+PiB2e21hcDEsIG1hcDIsIG1hcDN9OwogICAgCiAgICBzdGQ6OnNvcnQodi5iZWdpbigpLCB2LmVuZCgpLCBbXShzdGQ6Om1hcDxzdHJpbmcsaW50PiAmbGhzLCBzdGQ6Om1hcDxzdHJpbmcsaW50PiAmcmhzKXsKICAgIAlyZXR1cm4gdGllKGxoc1sieW1heCJdLCBsaHNbInltaW4iXSwgbGhzWyJ4dmFsIl0pIDwgdGllKHJoc1sieW1heCJdLCByaHNbInltaW4iXSwgcmhzWyJ4dmFsIl0pOwogICAgfSk7CiAgICBmb3IobWFwPHN0cmluZyxpbnQ+IG15X21hcCA6IHYpewoJCSBjb3V0IDw8ICJ5bWF4IiAgPDwgIiwgIiA8PCBteV9tYXBbInltYXgiXSA8PCBlbmRsOwogCQkgY291dCA8PCAieW1pbiIgIDw8ICIsICIgPDwgbXlfbWFwWyJ5bWluIl0gPDwgZW5kbDsKCQkgY291dCA8PCAieHZhbCIgIDw8ICIsICIgPDwgbXlfbWFwWyJ4dmFsIl0gPDwgZW5kbDsKCQkgY291dCA8PCAiPT09PT09PT09PT09PT09PT09PT09PT1cbiI7CiAgICB9Cn0KCg==
ymax, 10
ymin, 16
xval, 10
=======================
ymax, 16
ymin, 20
xval, 10
=======================
ymax, 16
ymin, 20
xval, 28
=======================