Made variant_collection_value_type_impl<Ts...>'s relational operators available
only when the corresponding relational operator is available for all
Ts...,
in accordance with WG21 paper P2944R3.
Fixed incompatibility problem with libc++ v21 or higher (PR#34).
Suppressed a potential redundant move warning in boost::poly_collection::for_each.
Fixed a bug by which elements were copied rather than moved in allocator-extended
move construction and move assigment between collections with non-propagating,
unequal allocators.
Allocator-extended move construction no longer decays to allocator-extended
copy construction for the legacy version of libstdc++-v3 shipped with
GCC 4.8 (which can also be used by Clang).
Boost.PolyCollection has been backported to GCC 4.8 to 4.9 and Clang
3.3 to 3.6. The version of libstdc++-v3 shipped with GCC 4.8 (which can
also be used by Clang) has deficiencies that result in the following
limitations when using Boost.PolyCollection:
Stateful allocators are not properly supported.
Allocator-extended move construction decays to allocator-extended
copy construction.
Copy construction crashes if an exception is thrown during element
copying.