調子に乗って
もうちょっと楽にならないか考えてみる
template < class T > struct CompareMixin { public: bool operator<( const T& x ) const { return static_cast<const T*>(this)->totuple() < static_cast<const T*>(&x)->totuple(); } }; struct Foo : public CompareMixin<Foo> { int m0; int m1; boost::tuple< int, int > totuple() const { return boost::make_tuple( m0, m1 ); } };
ちっとも楽になってないよばーーーーーーーーーーか