Tupleが要素のコンテナの整列
tuple_comparison.hpp のインクルードが必要みたい。うむむ。こういうの調べるの大変*1。C++好きくないわぁ。
#include <vector> #include <algorithm> #include <iostream> #include <boost/tuple/tuple_io.hpp> #include <boost/tuple/tuple_comparison.hpp> // これがないとビルドできない typedef boost::tuple<long, double, float> Tpl; typedef std::vector<Tpl> TplSet; int main() { TplSet ts; ts.push_back(boost::make_tuple(1, 2, 3)); ts.push_back(boost::make_tuple(2, 3, 1)); ts.push_back(boost::make_tuple(0, 1, 2)); std::cout << ts[0] << ts[1] << ts[2] << std::endl; std::sort(ts.begin(), ts.end()); std::cout << ts[0] << ts[1] << ts[2] << std::endl; return 0; }