如果我有这样的对象:
struct Bar {
std::string const& property();
};
我可以为它创建一个多索引容器,如下所示:
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;
但是,如果我有这样的课程:
struct Foo {
Bar const& bar();
};
如何.bar().property()
为Foo
对象容器构建索引?
通常我会嵌套调用boost::bind
,但我不知道如何使它在多索引容器的上下文中工作。