#include <list>
#include <iostream>
int main() {
typedef void linearVariable; // Dummy to make the code compile.
typedef std::pair<linearVariable*, double> weightedVariable;
std::list<weightedVariable> tmp;
tmp.emplace_back(std::make_pair(nullptr, 0.4));
tmp.emplace_back(std::make_pair(nullptr, 0.8));
tmp.emplace_back(std::make_pair(nullptr, 0.2));
tmp.sort([](const weightedVariable& a, const weightedVariable& b) {
return a.second < b.second;
});
for (auto const &wv : tmp)
std::cout << wv.second << std::endl;
return 0;
}
I2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmludCBtYWluKCkgewogICAgdHlwZWRlZiB2b2lkIGxpbmVhclZhcmlhYmxlOyAgLy8gRHVtbXkgdG8gbWFrZSB0aGUgY29kZSBjb21waWxlLgogICAgdHlwZWRlZiBzdGQ6OnBhaXI8bGluZWFyVmFyaWFibGUqLCBkb3VibGU+IHdlaWdodGVkVmFyaWFibGU7CiAgICBzdGQ6Omxpc3Q8d2VpZ2h0ZWRWYXJpYWJsZT4gdG1wOwoKICAgIHRtcC5lbXBsYWNlX2JhY2soc3RkOjptYWtlX3BhaXIobnVsbHB0ciwgMC40KSk7CiAgICB0bXAuZW1wbGFjZV9iYWNrKHN0ZDo6bWFrZV9wYWlyKG51bGxwdHIsIDAuOCkpOwogICAgdG1wLmVtcGxhY2VfYmFjayhzdGQ6Om1ha2VfcGFpcihudWxscHRyLCAwLjIpKTsKCiAgICB0bXAuc29ydChbXShjb25zdCB3ZWlnaHRlZFZhcmlhYmxlJiBhLCBjb25zdCB3ZWlnaHRlZFZhcmlhYmxlJiBiKSB7CiAgICAgICAgcmV0dXJuIGEuc2Vjb25kIDwgYi5zZWNvbmQ7CiAgICB9KTsKCiAgICBmb3IgKGF1dG8gY29uc3QgJnd2IDogdG1wKQogICAgICAgIHN0ZDo6Y291dCA8PCB3di5zZWNvbmQgPDwgc3RkOjplbmRsOwogICAgICAgIAogICAgcmV0dXJuIDA7Cn0=