Nếu tôi có một đối tượng như thế này:Tăng chứa đa-index với chỉ số dựa trên giá trị lồng nhau
struct Bar {
std::string const& property();
};
tôi có thể tạo một container đa-index cho nó như thế này:
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;
Nhưng nếu tôi có một lớp học như thế này:
struct Foo {
Bar const& bar();
};
Làm cách nào tôi có thể xây dựng chỉ mục trên .bar().property()
cho vùng chứa Foo
đối tượng?
Thông thường tôi sẽ lồng các cuộc gọi đến boost::bind
, nhưng tôi không thể tìm ra cách làm cho nó hoạt động trong ngữ cảnh của vùng chứa nhiều chỉ mục.
Perfect, cảm ơn bạn. –