4
假设我们有一个data1
和data2
。我如何将它们与std::set_intersect()
相交?Boost.MultiIndex:如何创建一个有效的集合交集?
struct pID
{
int ID;
unsigned int IDf;// postition in the file
pID(int id,const unsigned int idf):ID(id),IDf(idf){}
bool operator<(const pID& p)const { return ID<p.ID;}
};
struct ID{};
struct IDf{};
typedef multi_index_container<
pID,
indexed_by<
ordered_unique<
tag<IDf>, BOOST_MULTI_INDEX_MEMBER(pID,unsigned int,IDf)>,
ordered_non_unique<
tag<ID>,BOOST_MULTI_INDEX_MEMBER(pID,int,ID)> >
> pID_set;
ID_set data1, data2;
Load(data1); Load(data2);
pID_set::index<ID>::type& L1_ID_index=L1.data.get<ID>();
pID_set::index<ID>::type& L2_ID_index=L2.data.get<ID>();
// How do I use set_intersect?
谢谢你,这个 “L1_ID_index.value_comp()” 我所缺少的。 – Arman 2010-03-16 12:29:57
我想他应该知道,因为他写了图书馆! – shaz 2010-08-15 01:41:06