Boost logo

Boost Users :

From: Sumanth J.V (sumanth_at_[hidden])
Date: 2005-11-25 23:38:58


Greetings,

I have no idea why the following code does not work. Seems to work fine
when I try sorting a vector of ints instead. I have even overloaded the
< operator. If I understand correctly, this is the only requirement to
sort a userdefined class. The compiler gets mad and spits out a a whole
bunch of errors.

thanx

#include "boost/tuple/tuple_io.hpp"
#include <vector>
#include <algorithm>

typedef boost::tuple<unsigned long int, unsigned long int, double,
unsigned long int> Task;
typedef std::vector<Task> TaskSet;

bool operator<(const Task& a, const Task& b) {
        return boost::get<1>(a) < boost::get<1>(b);
}

int main(int argc, char** argv) {
        TaskSet ts;

        ts.push_back( boost::make_tuple(0, 0, 0, 0) );
        ts.push_back( boost::make_tuple(3, 3, 3, 3) );
        ts.push_back( boost::make_tuple(2, 2, 2, 2) );

        std::sort(ts.begin(), ts.end());

        return 0;
}


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net