【发布时间】:2015-04-03 06:03:21
【问题描述】:
我有一个由 2 个索引索引的 multi_index_container。我可以通过其中一个找到值,但是是否可以从另一个对应的索引中找到迭代器?
例子:
struct ById{};
struct ByName{};
typedef multi_index_container<
MyStruct,
indexed_by<
ordered_unique<tag<ById>, member< MyStruct, int, &MyStruct::id> >,
ordered_non_unique<tag<BySalary>, member< MyStruct, int, &MyStruct::salary> >
>
> MyStructsContainer;
typedef MyStructsContainer::index<ById>::type MyStructsContainerById;
typedef MyStructsContainer::index<BySalary>::type MyStructsContainerBySalary;
....
MyStructsContainerById& byId = myStructsContainer.get<ById>();
MyStructsContainerById::iterator itById = byId.find(3);
问题是,有没有一种简单的方法可以找到对应的:
MyStructsContainerByName::iterator itBySalary
哪个指向完全相同的值 (*itById)?
谢谢, 卡林
【问题讨论】:
标签: boost multi-index