diff --git a/test/support/allocators.h b/test/support/allocators.h index b7aba12e2..7c2103ff2 100644 --- a/test/support/allocators.h +++ b/test/support/allocators.h @@ -35,6 +35,8 @@ public: A1(const A1& a) TEST_NOEXCEPT : id_(a.id()) {copy_called = true;} A1(A1&& a) TEST_NOEXCEPT : id_(a.id()) {move_called = true;} + A1& operator=(const A1& a) TEST_NOEXCEPT { id_ = a.id(); copy_called = true; return *this;} + A1& operator=(A1&& a) TEST_NOEXCEPT { id_ = a.id(); move_called = true; return *this;} template A1(const A1& a) TEST_NOEXCEPT : id_(a.id()) {copy_called = true;} @@ -96,6 +98,8 @@ public: A2(const A2& a) TEST_NOEXCEPT : id_(a.id()) {copy_called = true;} A2(A2&& a) TEST_NOEXCEPT : id_(a.id()) {move_called = true;} + A2& operator=(const A2& a) TEST_NOEXCEPT { id_ = a.id(); copy_called = true; return *this;} + A2& operator=(A2&& a) TEST_NOEXCEPT { id_ = a.id(); move_called = true; return *this;} T* allocate(std::size_t n, const void* hint) { @@ -142,7 +146,9 @@ public: static bool destroy_called; A3(const A3& a) TEST_NOEXCEPT : id_(a.id()) {copy_called = true;} - A3(A3&& a) TEST_NOEXCEPT: id_(a.id()) {move_called = true;} + A3(A3&& a) TEST_NOEXCEPT : id_(a.id()) {move_called = true;} + A3& operator=(const A3& a) TEST_NOEXCEPT { id_ = a.id(); copy_called = true; return *this;} + A3& operator=(A3&& a) TEST_NOEXCEPT { id_ = a.id(); move_called = true; return *this;} template void construct(U* p, Args&& ...args)