| 12345678910111213141516171819 |
- //
- // pointer_traits.hpp
- // memory
- //
- // Created by Sam Jaffe on 7/29/16.
- //
- #pragma once
- #include <type_traits>
- namespace detail {
- template <typename T>
- struct pointer_traits {
- using element_type = typename std::remove_reference<decltype(*std::declval<T>())>::type;
- using pointer = element_type *;
- using reference = typename std::add_lvalue_reference<element_type>::type;
- };
- }
|