Chris@16: #ifndef BOOST_RECURSIVE_MUTEX_WIN32_HPP Chris@16: #define BOOST_RECURSIVE_MUTEX_WIN32_HPP Chris@16: Chris@16: // recursive_mutex.hpp Chris@16: // Chris@16: // (C) Copyright 2006-7 Anthony Williams Chris@16: // Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS Chris@16: #include Chris@16: #endif Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost Chris@16: { Chris@16: class recursive_mutex: Chris@16: public ::boost::detail::basic_recursive_mutex Chris@16: { Chris@16: public: Chris@16: BOOST_THREAD_NO_COPYABLE(recursive_mutex) Chris@16: recursive_mutex() Chris@16: { Chris@16: ::boost::detail::basic_recursive_mutex::initialize(); Chris@16: } Chris@16: ~recursive_mutex() Chris@16: { Chris@16: ::boost::detail::basic_recursive_mutex::destroy(); Chris@16: } Chris@16: Chris@16: #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS Chris@16: typedef unique_lock scoped_lock; Chris@16: typedef detail::try_lock_wrapper scoped_try_lock; Chris@16: #endif Chris@16: }; Chris@16: Chris@16: typedef recursive_mutex recursive_try_mutex; Chris@16: Chris@16: class recursive_timed_mutex: Chris@16: public ::boost::detail::basic_recursive_timed_mutex Chris@16: { Chris@16: public: Chris@16: BOOST_THREAD_NO_COPYABLE(recursive_timed_mutex) Chris@16: recursive_timed_mutex() Chris@16: { Chris@16: ::boost::detail::basic_recursive_timed_mutex::initialize(); Chris@16: } Chris@16: ~recursive_timed_mutex() Chris@16: { Chris@16: ::boost::detail::basic_recursive_timed_mutex::destroy(); Chris@16: } Chris@16: Chris@16: #if defined BOOST_THREAD_PROVIDES_NESTED_LOCKS Chris@16: typedef unique_lock scoped_timed_lock; Chris@16: typedef detail::try_lock_wrapper scoped_try_lock; Chris@16: typedef scoped_timed_lock scoped_lock; Chris@16: #endif Chris@16: }; Chris@16: } Chris@16: Chris@16: #include Chris@16: Chris@16: #endif