|
||||
File indexing completed on 2025-01-30 10:01:41
0001 #ifndef BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED 0002 #define BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED 0003 0004 // 0005 // Copyright 2018 Peter Dimov 0006 // 0007 // Distributed under the Boost Software License, Version 1.0. 0008 // See accompanying file LICENSE_1_0.txt or copy at 0009 // http://www.boost.org/LICENSE_1_0.txt 0010 // 0011 // is_noncopyable<T> returns whether T is derived from boost::noncopyable 0012 // 0013 0014 #include <boost/type_traits/is_base_and_derived.hpp> 0015 0016 namespace boost 0017 { 0018 0019 #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED 0020 #define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED 0021 0022 // boost::noncopyable derives from noncopyable_::base_token to enable us 0023 // to recognize it. The definition is macro-guarded so that we can replicate 0024 // it here without including boost/core/noncopyable.hpp, which is in Core. 0025 0026 namespace noncopyable_ 0027 { 0028 struct base_token {}; 0029 } 0030 0031 #endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED 0032 0033 template<class T> struct is_noncopyable: is_base_and_derived<noncopyable_::base_token, T> 0034 { 0035 }; 0036 0037 } // namespace boost 0038 0039 #endif // #ifndef BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |