TBD: improve comment This is an empty class specialization of allocator_traits for pointer types that (intentionally) does not define any of the traits typedefs. It's needed in order make unambiguous function overloads that take both a standard allocator by value and a bslma::Allocator *. By using the typedefs defined in allocator_traits in the signature of functions taking standard allocators, we can ensure that those overloads are not considered when using bslma-style allocators.
Declared in <bslma_allocatortraits.h>
template<class ALLOCATOR_TYPE>
struct allocator_traits<ALLOCATOR_TYPE*>;