Я уже потерял нить спора...
Ну, помнится ты утверждал что мой элементарный код-аналог твоего луашного, требует для написания сильно бОльшей квалификации :-)
Я таки утверждаю, что для современного с++ это не обязательно. Вот C++98 - он да, он требовал. Лямбд не было, дофига еще чего не было. Для написание такого кода пришлось бы или использовать адапторы (в которых хрен разберешься), либо написать своих пару классов-компараторов. А вот в современном С++ (c++11) - все ок. Все элементарно просто. И про шаблоны (страшные и ужасные) знать не надо.