If I have an object like this:
struct Bar {
    std::string const& property();
};
I can create a multi-index container for it like this:
struct tag_prop {};
typedef boost::multi_index_container<
 Bar,
 boost::multi_index::indexed_by<
  boost::multi_index::ordered_non_unique<
   boost::multi_index::tag<tag_prop>,
   boost::multi_index::const_mem_fun<
    Bar, const std::string&, &Bar::property
   >
  >
 >
 , ... other indexes
> BarContainer;
But if I have a class like this:
struct Foo {
   Bar const& bar();
};
How can I construct an index on .bar().property() for a container of Foo objects?
Normally I would nest calls to boost::bind, but I can't figure out how to make it work in the context of a multi-index container.