読者です 読者をやめる 読者になる 読者になる

Boost.MultiIndexの比較

C++

Boost.MultiIndexの比較ってどうやってるんだろ、とふと気になったのでドキュメント見てみたら、
最初に指定されたインデックスでの比較をしてるみたいです。

/* Comparison. Simple forward to first index. */

template<
  typename Value1,typename IndexSpecifierList1,typename Allocator1,
  typename Value2,typename IndexSpecifierList2,typename Allocator2
>
bool operator==(
  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
{
  return get<0>(x)==get<0>(y);
}

...

最初にhashed_unique/hashed_non_uniqueを持ってくると遅そう。