* added memory relocatability test
* added missing #includes
* avoided C++14 std::make_unique
* added hashed index local iterators to the test
* made all iterators store allocator-provided pointers to the nodes
* updated docs
* added gcc-15, gcc-16
* explicitly constructed bfm_header everywhere
* reverted, silenced uninitialized warning
* moved silencing pragma inside header body
* made silencing pragma enclose entire multi_index_container definition
* abandoned pragma, deinlined header()
* tried an even more convoluted workaround
* type-erased member in header_holder
* s/static_cast/reinterpret_cast
* reverted, passed allocator and header explicitly in construction
* used passed header in construction rather than header()
* investigated if hit by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119321
* documented GCC 16.1 flag
* avoided VS warning
* omitted test_mpl_ops for now
* made IndexSpecifierList a Mp11 sequence
* made nested *_type_list's and tag Mp11 sequences
* leftover MPL->Mp11 change
* removed Clang 5.0 -std=c++1z as not supported by Mp11
* replaced boost::mpl::na with void as default index specifier arg
* removed Clang 5.0 -std=c++1z as not supported by Mp11 (Drone)
* replaced elementary MPL TMP with Mp11/std
* replaced elementary MPL TMP with Mp11/std (tests)
* leftover MPL #include
* suppressed potential narrowing conversion warnings
* enabled macro to support old interface, plus restored and augmented test_mpl_ops
* removed secondary dependency to MPL thru Iterator
* optimized Jamfile.v2
* added conditional support for old definition of tag
* updated MPL support macro in tests
* updated docs
* stylistic
* updated "cxxstd" in libraries.json
* disabled test_serialization for Clang 3.5-3.6 due to lack of support from Boost.SmartPtr
* fixed previous
* removed no longer necessary workaround
* removed redundant dependencies
* updated test description
* Make the library modular usable.
* Put back removing qualified boostcpp tag. As we need it until the Jamroot removes the qualified tag.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Remove uses of BOOST_ROOT in Jamfiles.
* Add requires-b2 check to top-level build file.
* Bump B2 require to 5.2
* Update copyright dates.
* Move inter-lib dependencies to a project variable and into the build targets.
* Update build deps.
No public headers depend on Boost.ForEach headers, so the dependency
in CMakeLists.txt is not needed.
This dependency causes problems in downstream CI runs because boostdep
does not find the dependency on Boost.ForEach from public headers and
does not checkout Boost.ForEach git repo. This causes CMake errors
because it cannot resolve the Boost::foreach target.
* refactor: use type_traits/declval over utility/declval
The later is just an include for the former.
* refactor: use container_hash/hash* over functional/hash*
The later just include the former.
The later is deprecated:
```cpp
// The header file at this path is deprecated;
// use boost/core/enable_if.hpp instead.
include <boost/core/enable_if.hpp>
```