73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #ifndef BOOST_THREAD_WIN32_MUTEX_HPP | ||
|  | #define BOOST_THREAD_WIN32_MUTEX_HPP | ||
|  | // (C) Copyright 2005-7 Anthony Williams | ||
|  | // (C) Copyright 2011-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) | ||
|  | 
 | ||
|  | #include <boost/thread/win32/basic_timed_mutex.hpp> | ||
|  | #include <boost/thread/exceptions.hpp> | ||
|  | #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS | ||
|  | #include <boost/thread/lock_types.hpp> | ||
|  | #endif | ||
|  | #include <boost/thread/detail/delete.hpp> | ||
|  | 
 | ||
|  | #include <boost/config/abi_prefix.hpp> | ||
|  | 
 | ||
|  | namespace boost | ||
|  | { | ||
|  |     namespace detail | ||
|  |     { | ||
|  |         typedef ::boost::detail::basic_timed_mutex underlying_mutex; | ||
|  |     } | ||
|  | 
 | ||
|  |     class mutex: | ||
|  |         public ::boost::detail::underlying_mutex | ||
|  |     { | ||
|  |     public: | ||
|  |         BOOST_THREAD_NO_COPYABLE(mutex) | ||
|  |         mutex() | ||
|  |         { | ||
|  |             initialize(); | ||
|  |         } | ||
|  |         ~mutex() | ||
|  |         { | ||
|  |             destroy(); | ||
|  |         } | ||
|  | 
 | ||
|  | #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS | ||
|  |         typedef unique_lock<mutex> scoped_lock; | ||
|  |         typedef detail::try_lock_wrapper<mutex> scoped_try_lock; | ||
|  | #endif | ||
|  |     }; | ||
|  | 
 | ||
|  |     typedef mutex try_mutex; | ||
|  | 
 | ||
|  |     class timed_mutex: | ||
|  |         public ::boost::detail::basic_timed_mutex | ||
|  |     { | ||
|  |     public: | ||
|  |         BOOST_THREAD_NO_COPYABLE(timed_mutex) | ||
|  |         timed_mutex() | ||
|  |         { | ||
|  |             initialize(); | ||
|  |         } | ||
|  | 
 | ||
|  |         ~timed_mutex() | ||
|  |         { | ||
|  |             destroy(); | ||
|  |         } | ||
|  | 
 | ||
|  | #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS | ||
|  |         typedef unique_lock<timed_mutex> scoped_timed_lock; | ||
|  |         typedef detail::try_lock_wrapper<timed_mutex> scoped_try_lock; | ||
|  |         typedef scoped_timed_lock scoped_lock; | ||
|  | #endif | ||
|  |     }; | ||
|  | } | ||
|  | 
 | ||
|  | #include <boost/config/abi_suffix.hpp> | ||
|  | 
 | ||
|  | #endif |