I don't think you can use a method directly (Boost.bind won't work because you need a type, not a functor instance). I would just create a nested functor class to call Object::fn. Here is an example, compiled on Boost 1.38.0, gcc 4.3.2. I would put real code in Object::fn(), though. There may be an MPL metafunction to do the equivalent of what the struct ordering does.
# include
Hi,
I want to use in index based on a member function that returns a bool if an element is smaller than an other element like operator<. But I cannot find how to do that.
e.g.
using namespace ::boost; using namespace ::boost::multi_index;
class Object{ bool operator<(const Object& rhs) const; bool fn(const Object& rhs) const; }
struct FnIndex{};
typedef multi_index_container< Object, indexed_by < ordered_unique< identity< Square > >, // this uses operator<(const Object&) I believe? ordered_unique< tag< FnIndex >, ?????????????? >
ObjectContainer;
If this possible, what should I use in the place of ?????????