The following dependencies among headers of Boost.MultiIndex hold:
"boost/multi_index_container.hpp" includes
"boost/multi_index/indexekd_by.hpp".
"boost/multi_index/ordered_index.hpp" includes
"boost/multi_index/tag.hpp".
"boost/multi_index/hashed_index.hpp" includes
"boost/multi_index/tag.hpp".
"boost/multi_index/sequenced_index.hpp" includes
"boost/multi_index/tag.hpp".
"boost/multi_index/random_access_index.hpp" includes
"boost/multi_index/tag.hpp".
"boost/multi_index/key_extractors.hpp" includes
"boost/multi_index/identity.hpp",
"boost/multi_index/member.hpp",
"boost/multi_index/mem_fun.hpp" and
"boost/multi_index/composite_key.hpp".
So, a program using Boost.MultiIndex must include "boost/multi_index_container.hpp", the headers defining the index types to be used and possibly one or more key extraction headers for key-based indices. Note that all the key extractors provided by Boost.MultiIndex are automatically included with "boost/multi_index/key_extractors.hpp".
In order to use the serialization capabilities of Boost.MultiIndex, the appropriate Boost.Serialization library module must be linked. Other than that, Boost.MultiIndex is a header-only library, requiring no additional object modules.