12345678910111213141516171819202122232425262728293031323334353637 |
- /*
- Copyright 2017 Glen Joseph Fernandes
- (glenjofe@gmail.com)
- Distributed under Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- */
- // MACRO: BOOST_NO_CXX11_POINTER_TRAITS
- // TITLE: C++11 <memory> lacks a correct std::pointer_traits
- // DESCRIPTION: The standard library lacks a working std::pointer_traits.
- #include <memory>
- namespace boost_no_cxx11_pointer_traits {
- template<class T>
- struct pointer {
- template<class U>
- using rebind = pointer<U>;
- };
- template<class T>
- struct result { };
- template<>
- struct result<pointer<bool> > {
- static const int value = 0;
- };
- int test()
- {
- return result<std::pointer_traits<pointer<int> >::rebind<bool> >::value;
- }
- } /* boost_no_cxx11_pointer_traits */
|