What are the advantages of the boost::container class compared to boost::multi_index_container one?
They can both store their data in shared memory and work with Boost.Interprocess (crucial for me), and multi_index_container seems to provide more advanced functionality.
What features of container are missing from multi_index_container?
References: http://www.boost.org/doc/libs/1_61_0/libs/multi_index/doc/tutorial/creation.html#special_allocator http://www.boost.org/doc/libs/1_61_0/doc/html/container.html
Boost.Container is not a single class but rather a collection of containers with various interfaces (though all of them based on STL conventions) and internal data structures, so a feature comparison with Boost.MultiIndex's multi_index_container
really depends on what particular container you're interested in. Anyway, all of the containers in Boost.Container and multi_index_container
can be placed in shared memory with Boost.Interprocess, but if this is the only non-standard feature you look for I guess you probably want to stick with boost::container::set
or similar.