Lines Matching refs:_Pointer
165 template <class _Pointer, class = void>
175 template <class _Pointer, class = void>
178 template <class _Pointer>
179 struct _HasToAddress<_Pointer,
180 decltype((void)pointer_traits<_Pointer>::to_address(declval<const _Pointer&>()))
183 template <class _Pointer, class = void>
186 template <class _Pointer>
187 struct _HasArrow<_Pointer,
188 decltype((void)declval<const _Pointer&>().operator->())
191 template <class _Pointer>
193 static const bool value = _HasArrow<_Pointer>::value || _HasToAddress<_Pointer>::value;
197 template <class _Pointer, class = __enable_if_t<
198 _And<is_class<_Pointer>, _IsFancyPointer<_Pointer> >::value
201 typename decay<decltype(__to_address_helper<_Pointer>::__call(declval<const _Pointer&>()))>::type
202 __to_address(const _Pointer& __p) _NOEXCEPT {
203 return __to_address_helper<_Pointer>::__call(__p);
206 template <class _Pointer, class>
209 static decltype(_VSTD::__to_address(declval<const _Pointer&>().operator->()))
210 __call(const _Pointer& __p) _NOEXCEPT {
215 template <class _Pointer>
216 struct __to_address_helper<_Pointer, decltype((void)pointer_traits<_Pointer>::to_address(declval<co…
218 static decltype(pointer_traits<_Pointer>::to_address(declval<const _Pointer&>()))
219 __call(const _Pointer& __p) _NOEXCEPT {
220 return pointer_traits<_Pointer>::to_address(__p);
231 template <class _Pointer>
233 auto to_address(const _Pointer& __p) noexcept -> decltype(std::__to_address(__p)) {