Lines Matching refs:template
49 template <typename ...> using void_t = void;
50 template <typename T> T && declval() noexcept;
52 template <bool Cond, typename T = void> struct enable_if;
53 template <typename T> struct enable_if<true, T> { using type = T; };
54 template <bool Cond, typename T = void> using enable_if_t = typename enable_if<Cond, T>::type;
55 template <typename T1, typename T2>
58 template <typename T> inline constexpr bool is_void_v = false;
59 template <> inline constexpr bool is_void_v<void> = true;
60 template <> inline constexpr bool is_void_v<void const> = true;
62 template <typename T, typename U> struct copy_const { using type = U; };
63 template <typename T, typename U> struct copy_const<T const, U> { using type = U const; };
64 template <typename T, typename U> using copy_const_t = typename copy_const<T, U>::type;
66 template <typename T, typename U> struct copy_cv { using type = U; };
67 template <typename T, typename U> struct copy_cv<T const, U> { using type = U const; };
68 template <typename T, typename U> struct copy_cv<T volatile, U> { using type = U volatile; };
69 template <typename T, typename U> struct copy_cv<T const volatile, U> { using type = U const volati…
70 template <typename T, typename U> using copy_cv_t = typename copy_cv<T, U>::type;
72 template <typename T, typename U>
78 template <typename T, typename U>
88 template <typename T> constexpr size_t sizeof_v = sizeof(T);
89 template <> inline constexpr size_t sizeof_v<void> = 1;
90 template <> inline constexpr size_t sizeof_v<void const> = 1;
91 template <> inline constexpr size_t sizeof_v<void volatile> = 1;
92 template <> inline constexpr size_t sizeof_v<void const volatile> = 1;
144 template <typename T, typename TrappingPolicy>
214 …template <typename U, typename Policy, typename = detail::enable_if_t<detail::is_convertible_v<U*,…
229 …template <typename U, typename Policy, typename = detail::enable_if_t<detail::is_convertible_v<U*,…
261 …template <typename T_ = T> // delay instantiation to avoid forming invalid ref for bounded_ptr<voi…
288 …template <typename T_ = T> // delay instantiation to avoid forming invalid ref for bounded_ptr<voi…
387 template <typename T_ = T>
407 template <typename T_ = T>
491 template <typename T_, typename U, typename Policy>
494 …template <typename U, typename P> friend struct bounded_ptr; // for cross-type operations and conv…
512 template <typename T, typename P1, typename U, typename P2, typename = detail::WhenComparable<T*, U…
519 template <typename T, typename P1, typename U, typename P2, typename = detail::WhenComparable<T*, U…
526 template <typename T, typename P, typename U, typename = detail::WhenComparable<T*, U*> >
533 template <typename T, typename P, typename U, typename = detail::WhenComparable<T*, U*> >
540 template <typename T, typename P, typename U, typename = detail::WhenComparable<T*, U*> >
547 template <typename T, typename P, typename U, typename = detail::WhenComparable<T*, U*> >
554 template <typename T, typename Policy>
561 template <typename T, typename Policy>
568 template <typename T, typename Policy>
575 template <typename T, typename Policy>
597 template <typename T, typename U, typename P1, typename P2, typename = detail::WhenOrderable<T*, U*…
604 template <typename T, typename U, typename P1, typename P2, typename = detail::WhenOrderable<T*, U*…
611 template <typename T, typename U, typename P1, typename P2, typename = detail::WhenOrderable<T*, U*…
618 template <typename T, typename U, typename P1, typename P2, typename = detail::WhenOrderable<T*, U*…
625 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
632 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
639 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
646 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
653 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
660 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
667 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
674 template <typename T, typename U, typename P, typename = detail::WhenOrderable<T*, U*> >
681 template <typename T, typename U>
695 template <typename T, typename U, typename Policy>