1 #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED 2 #define BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED 3 4 // MS compatible compilers support #pragma once 5 6 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 # pragma once 8 #endif 9 10 // detail/sp_nullptr_t.hpp 11 // 12 // Copyright 2013 Peter Dimov 13 // 14 // Distributed under the Boost Software License, Version 1.0. 15 // See accompanying file LICENSE_1_0.txt or copy at 16 // http://www.boost.org/LICENSE_1_0.txt 17 18 #include <boost/config.hpp> 19 #include <cstddef> 20 21 #if !defined( BOOST_NO_CXX11_NULLPTR ) 22 23 namespace boost 24 { 25 26 namespace detail 27 { 28 29 #if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) 30 31 typedef decltype(nullptr) sp_nullptr_t; 32 33 #else 34 35 typedef std::nullptr_t sp_nullptr_t; 36 37 #endif 38 39 } // namespace detail 40 41 } // namespace boost 42 43 #endif // !defined( BOOST_NO_CXX11_NULLPTR ) 44 45 #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED 46