#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct person {
string name;
int age;
};
typedef person const &person_view;
namespace compare_person {
bool by_age(person_view lhs, person_view rhs) {
return lhs.age < rhs.age;
}
}
int main() {
person people[] = {
{"Julie", 8},
{"Douglas", 32},
{"Peter", 16},
{"Mark", 11}
};
sort(begin(people), end(people), compare_person::by_age);
for(person_view person: people) {
cout << person.name << ": " << person.age << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IHBlcnNvbiB7CglzdHJpbmcgbmFtZTsKCWludCBhZ2U7Cn07CnR5cGVkZWYgcGVyc29uIGNvbnN0ICZwZXJzb25fdmlldzsKCm5hbWVzcGFjZSBjb21wYXJlX3BlcnNvbiB7Cglib29sIGJ5X2FnZShwZXJzb25fdmlldyBsaHMsIHBlcnNvbl92aWV3IHJocykgewoJCXJldHVybiBsaHMuYWdlIDwgcmhzLmFnZTsKCX0KfQoKaW50IG1haW4oKSB7CglwZXJzb24gcGVvcGxlW10gPSB7CgkJeyJKdWxpZSIsIDh9LAoJCXsiRG91Z2xhcyIsIDMyfSwKCQl7IlBldGVyIiwgMTZ9LAoJCXsiTWFyayIsIDExfQoJfTsKCQoJc29ydChiZWdpbihwZW9wbGUpLCBlbmQocGVvcGxlKSwgY29tcGFyZV9wZXJzb246OmJ5X2FnZSk7CgkKCWZvcihwZXJzb25fdmlldyBwZXJzb246IHBlb3BsZSkgewoJCWNvdXQgPDwgcGVyc29uLm5hbWUgPDwgIjogIiA8PCBwZXJzb24uYWdlIDw8ICJcbiI7Cgl9CgkKCXJldHVybiAwOwp9