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
							 |