...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::container::uses_allocator
// In header: <boost/container/scoped_allocator.hpp> template<typename T, typename Alloc> struct uses_allocator { };
Remark: Automatically detects if T has a nested allocator_type that is convertible from Alloc. Meets the BinaryTypeTrait requirements ([meta.rqmts] 20.4.1). A program may specialize this type to derive from true_type for a T of user-defined type if T does not have a nested allocator_type but is nonetheless constructible using the specified Alloc.
Result: derived from true_type if Convertible<Alloc,T::allocator_type> and derived from false_type otherwise.