0
Boost multiindex容器的文档似乎表明我可以在声明迭代的索引之后将它用作一个集合。所以我在想,如果有可能隐藏升压实现并返回一个迭代器伪装成一个迭代的std::set
返回一个迭代器来将multiintex容器提升为std :: set <> :: iterator
例:头
typedef multi_index_container<
Employee,
indexed_by<
ordered_non_unique<
composite_key<
Employee,
member<Employee, int, &Employee::id>,
member<Employee, int, &Employee::salary>
>
>
> > EmployeeSet;
const std::set<Employee>::iterator getEmployees();
static EmployeeSet employeeSet;
Test.cc:
const std::set<Test::Employee>::iterator getEmployees(){
std::pair<EmployeeSet::iterator, EmployeeSet::iterator> by_id =
employeeSet.equal_range(id);
return by_id.first;
}
是有可能做这样的事情?如何?