Mercurial > hg > vamp-build-and-test
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 |