//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // unique_ptr // Test unique_ptr::pointer type #include #include #include "test_macros.h" struct Deleter { struct pointer {}; }; struct D2 { private: typedef void pointer; }; struct D3 { static long pointer; }; template void test_basic() { typedef typename std::conditional::type VT; { typedef std::unique_ptr P; static_assert((std::is_same::value), ""); } { typedef std::unique_ptr P; static_assert((std::is_same::value), ""); } #if TEST_STD_VER >= 11 { typedef std::unique_ptr P; static_assert(std::is_same::value, ""); } { typedef std::unique_ptr P; static_assert(std::is_same::value, ""); } #endif } int main() { test_basic(); test_basic(); }