59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // Copyright (C) 2012 Vicente J. Botet Escriba
 | |
| //
 | |
| //  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | |
| //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | |
| 
 | |
| #ifndef BOOST_THREAD_DETAIL_DELETE_HPP
 | |
| #define BOOST_THREAD_DETAIL_DELETE_HPP
 | |
| 
 | |
| #include <boost/config.hpp>
 | |
| 
 | |
| /**
 | |
|  * BOOST_THREAD_DELETE_COPY_CTOR deletes the copy constructor when the compiler supports it or
 | |
|  * makes it private.
 | |
|  *
 | |
|  * BOOST_THREAD_DELETE_COPY_ASSIGN deletes the copy assignment when the compiler supports it or
 | |
|  * makes it private.
 | |
|  */
 | |
| 
 | |
| #if ! defined BOOST_NO_CXX11_DELETED_FUNCTIONS && ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
 | |
| #define BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
 | |
|       CLASS(CLASS const&) = delete; \
 | |
| 
 | |
| #define BOOST_THREAD_DELETE_COPY_ASSIGN(CLASS) \
 | |
|       CLASS& operator=(CLASS const&) = delete;
 | |
| 
 | |
| #else // BOOST_NO_CXX11_DELETED_FUNCTIONS
 | |
| #if defined(BOOST_MSVC) && _MSC_VER >= 1600
 | |
| #define BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
 | |
|     private: \
 | |
|       CLASS(CLASS const&); \
 | |
|     public:
 | |
| 
 | |
| #define BOOST_THREAD_DELETE_COPY_ASSIGN(CLASS) \
 | |
|     private: \
 | |
|       CLASS& operator=(CLASS const&); \
 | |
|     public:
 | |
| #else
 | |
| #define BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
 | |
|     private: \
 | |
|       CLASS(CLASS&); \
 | |
|     public:
 | |
| 
 | |
| #define BOOST_THREAD_DELETE_COPY_ASSIGN(CLASS) \
 | |
|     private: \
 | |
|       CLASS& operator=(CLASS&); \
 | |
|     public:
 | |
| #endif
 | |
| #endif // BOOST_NO_CXX11_DELETED_FUNCTIONS
 | |
| 
 | |
| /**
 | |
|  * BOOST_THREAD_NO_COPYABLE deletes the copy constructor and assignment when the compiler supports it or
 | |
|  * makes them private.
 | |
|  */
 | |
| #define BOOST_THREAD_NO_COPYABLE(CLASS) \
 | |
|     BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
 | |
|     BOOST_THREAD_DELETE_COPY_ASSIGN(CLASS)
 | |
| 
 | |
| #endif // BOOST_THREAD_DETAIL_DELETE_HPP
 | 
