15template <
class,
class =
void>
32template <
class T,
class U>
37template <
class T,
class... Deleter>
50 "Template argument must be a raw or supported smart pointer "
51 "type. See nostd/nullability.h.");
58 "Template argument must be a raw or supported smart pointer "
59 "type. See nostd/nullability.h.");
66 "Template argument must be a raw or supported smart pointer "
67 "type. See nostd/nullability.h.");
71template <class T, class = typename __enable_nullable<T>::type>
73#if LIBCOPP_UTIL_HAVE_CPP_ATTRIBUTE(clang::annotate)
74 [[clang::annotate(
"Nullable")]]
78template <class T, class = typename __enable_nonnull<T>::type>
80#if LIBCOPP_UTIL_HAVE_CPP_ATTRIBUTE(clang::annotate)
81 [[clang::annotate(
"Nonnull")]]
85template <class T, class = typename __enable_nullability_unknown<T>::type>
87#if LIBCOPP_UTIL_HAVE_CPP_ATTRIBUTE(clang::annotate)
88 [[clang::annotate(
"Nullability_Unspecified")]]