annotate DEPENDENCIES/generic/include/boost/core/noncopyable.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 // Boost noncopyable.hpp header file --------------------------------------//
Chris@102 2
Chris@102 3 // (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost
Chris@102 4 // Software License, Version 1.0. (See accompanying file
Chris@102 5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@102 6
Chris@102 7 // See http://www.boost.org/libs/utility for documentation.
Chris@102 8
Chris@102 9 #ifndef BOOST_CORE_NONCOPYABLE_HPP
Chris@102 10 #define BOOST_CORE_NONCOPYABLE_HPP
Chris@102 11
Chris@102 12 #include <boost/config.hpp>
Chris@102 13
Chris@102 14 namespace boost {
Chris@102 15
Chris@102 16 // Private copy constructor and copy assignment ensure classes derived from
Chris@102 17 // class noncopyable cannot be copied.
Chris@102 18
Chris@102 19 // Contributed by Dave Abrahams
Chris@102 20
Chris@102 21 namespace noncopyable_ // protection from unintended ADL
Chris@102 22 {
Chris@102 23 class noncopyable
Chris@102 24 {
Chris@102 25 protected:
Chris@102 26 #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)
Chris@102 27 BOOST_CONSTEXPR noncopyable() = default;
Chris@102 28 ~noncopyable() = default;
Chris@102 29 #else
Chris@102 30 noncopyable() {}
Chris@102 31 ~noncopyable() {}
Chris@102 32 #endif
Chris@102 33 #if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
Chris@102 34 noncopyable( const noncopyable& ) = delete;
Chris@102 35 noncopyable& operator=( const noncopyable& ) = delete;
Chris@102 36 #else
Chris@102 37 private: // emphasize the following members are private
Chris@102 38 noncopyable( const noncopyable& );
Chris@102 39 noncopyable& operator=( const noncopyable& );
Chris@102 40 #endif
Chris@102 41 };
Chris@102 42 }
Chris@102 43
Chris@102 44 typedef noncopyable_::noncopyable noncopyable;
Chris@102 45
Chris@102 46 } // namespace boost
Chris@102 47
Chris@102 48 #endif // BOOST_CORE_NONCOPYABLE_HPP