1
我想实现内部提升多索引两组具有相同的搜索条件,但不同的驱逐标准的关键。说我有两套与相同的搜索条件的数据,但一组需要的100 MRU(最近使用)列表,而另一组需要MRU的200说的条目是这样boost multi_index部分索引
class Student
{
int student_no;
char sex;
std::string address;
};
的搜索标准是student_no,但对于性别='m',我们需要200的MRU和性别='f',我们需要MRU为100.现在我有一个解决方案,在这里我引入一个新的有序索引来维持排序。
例如,IndexSpecifierList会是这样的
typedef multi_index_container<
Student,
indexed_by<
ordered_unique< member<Student, int, &Student::student_no> >,
ordered_unique< composite_key<
member<Student, char, &Student::sex>,
member<Student, int, &Student::sex_specific_student_counter> > >
>
> student_set
现在每次,我插入一个新的,我必须承担,使用指数2 equal_range并删除最老的一个,如果事情是重新使用,我必须通过递增计数器来更新它。
有没有更好的解决这类问题的方法?
谢谢, Gokul。
我在Boost ML看到了您的消息,希望您能在这里或那里找到解决方案。有趣的问题+1 – AraK 2010-12-21 20:54:16