fixed conformance with C++17, some members of allocator are depricated and should be used via allocator_traits