Boost logo

Boost Users :

Subject: [Boost-users] [iterator] transform_iterator
From: Max (loadcom_at_[hidden])
Date: 2008-12-24 07:01:22


Hello

I just came across transform_iterator and found it a useful generic tool.
But is it possible for it to go further to make the following code get
compiled and run as expected?

struct A
{
        int i_;
        A() : i_(0) {}
        explicit A(int i) : i_(i) {}
};

const int N = 5;
A a_list[N] = { A(-3), A(1), A(3), A(2), A(-4) };

typedef boost::function<int(A)> fn_t;

// sorting a_list according to the elements' i_ member
std::stable_sort(boost::make_transform_iterator(a_list, fn_t(boost::bind(&A::i_, _1))),
        boost::make_transform_iterator(a_list+N, fn_t(boost::bind(&A::i_, _1))),
        std::less<int>());

Thanks
B/Rgds

Max

-------------------------------------------------------------------
ÐÂÀ˿ռ䡪¡ªÓëÅóÓÑ¿ªÐÄ·ÖÏíÍøÂçÐÂÉú»î£¡(http://space.sina.com.cn/ )


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