//===----------------------------------------------------------------------===// // // 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. // //===----------------------------------------------------------------------===// // // __is_referenceable // // [defns.referenceable] defines "a referenceable type" as: // An object type, a function type that does not have cv-qualifiers // or a ref-qualifier, or a reference type. // #include #include #include "test_macros.h" struct Foo {}; static_assert((!std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); // Functions without cv-qualifiers are referenceable static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); static_assert((!std::__is_referenceable::value), ""); #endif // member functions with or without cv-qualifiers are referenceable static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #if TEST_STD_VER >= 11 static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); static_assert(( std::__is_referenceable::value), ""); #endif int main () {}