From 8b7faa68716d8c65ffad76b2594684a41aeb4c62 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Mon, 27 Jun 2016 00:55:25 +0000 Subject: Implement p0337r0. Delete operator= for polymorphic_allocator. llvm-svn: 273838 --- libcxx/test/support/uses_alloc_types.hpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'libcxx/test/support') diff --git a/libcxx/test/support/uses_alloc_types.hpp b/libcxx/test/support/uses_alloc_types.hpp index f68b842a708..a88453c6c03 100644 --- a/libcxx/test/support/uses_alloc_types.hpp +++ b/libcxx/test/support/uses_alloc_types.hpp @@ -160,26 +160,26 @@ protected: allocator(a) {} - template + template > UsesAllocatorTestBase(AllocLastTag, Args&&... args) - : args_id(nullptr), - constructor_called(UA_AllocLast) + : args_id(&makeTypeID()), + constructor_called(UA_AllocLast), + allocator(getAllocatorFromPack( + typename ArgsIDL::type{}, + std::forward(args)...)) { - typedef typename detail::TakeNArgs::type - ArgIDL; - args_id = &makeTypeID(); - getAllocatorFromPack(ArgIDL{}, std::forward(args)...); } private: template - void getAllocatorFromPack(ArgumentListID, Args&&... args) { - getAllocatorFromPackImp(args...); + static CtorAlloc const& getAllocatorFromPack(ArgumentListID, Args&&... args) { + return getAllocatorFromPackImp(args...); } template - void getAllocatorFromPackImp(typename detail::Identity::type..., CtorAlloc const& alloc) { - allocator = alloc; + static CtorAlloc const& getAllocatorFromPackImp( + typename detail::Identity::type..., CtorAlloc const& alloc) { + return alloc; } const TypeID* args_id; -- cgit v1.2.3