//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // template <> // class allocator // { // public: // typedef void* pointer; // typedef const void* const_pointer; // typedef void value_type; // // template struct rebind {typedef allocator<_Up> other;}; // }; #include #include #include "test_macros.h" int main(int, char**) { static_assert((std::is_same::pointer, void*>::value), ""); static_assert((std::is_same::const_pointer, const void*>::value), ""); static_assert((std::is_same::value_type, void>::value), ""); static_assert((std::is_same::rebind::other, std::allocator >::value), ""); std::allocator a; std::allocator a2 = a; a2 = a; return 0; }