//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // 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 int main() { 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; }