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

MultiIndexの名前空間とデフォルトテンプレート引数

C++

Boost.MultiIndexの名前空間は、boost::multi_indexだが、
boost::multi_index_containerに関してはで以下のように定義されているため、boost名前空間で使用できる。

namespace boost{

namespace multi_index{
  ...
}

using multi_index::multi_index_container;

}

また、multi_index_containerは先行宣言で以下のように書かれているので、
IndexSpecifierListは省略可能になっていて、省略した場合はstd::setの用途で使用できる。

template<
  typename Value,
  typename IndexSpecifierList=indexed_by<ordered_unique<identity<Value> > >,
  typename Allocator=std::allocator<Value> >
class multi_index_container;