123456789101112131415161718192021222324252627282930313233 |
- //===----------------------------------------------------------------------===//
- //
- // 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.
- //
- //===----------------------------------------------------------------------===//
- // <memory>
- // template <class T>
- // struct pointer_traits<T*>
- // {
- // static pointer pointer_to(<details>);
- // ...
- // };
- #include <memory>
- #include <cassert>
- int main()
- {
- {
- int i = 0;
- static_assert((std::is_same<int *, decltype(std::pointer_traits<int*>::pointer_to(i))>::value), "");
- int* a = std::pointer_traits<int*>::pointer_to(i);
- assert(a == &i);
- }
- {
- (std::pointer_traits<void*>::element_type)0;
- }
- }
|