File indexing completed on 2025-12-15 10:09:31
0001 #ifndef BOOST_THREAD_RECURSIVE_MUTEX_HPP
0002 #define BOOST_THREAD_RECURSIVE_MUTEX_HPP
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <boost/thread/detail/platform.hpp>
0013 #if defined(BOOST_THREAD_PLATFORM_WIN32)
0014 #include <boost/thread/win32/recursive_mutex.hpp>
0015 #elif defined(BOOST_THREAD_PLATFORM_PTHREAD)
0016 #include <boost/thread/pthread/recursive_mutex.hpp>
0017 #else
0018 #error "Boost threads unavailable on this platform"
0019 #endif
0020
0021 #include <boost/thread/lockable_traits.hpp>
0022
0023 namespace boost
0024 {
0025 namespace sync
0026 {
0027
0028 #ifdef BOOST_THREAD_NO_AUTO_DETECT_MUTEX_TYPES
0029 template<>
0030 struct is_basic_lockable<recursive_mutex>
0031 {
0032 BOOST_STATIC_CONSTANT(bool, value = true);
0033 };
0034 template<>
0035 struct is_lockable<recursive_mutex>
0036 {
0037 BOOST_STATIC_CONSTANT(bool, value = true);
0038 };
0039 template<>
0040 struct is_basic_lockable<recursive_timed_mutex>
0041 {
0042 BOOST_STATIC_CONSTANT(bool, value = true);
0043 };
0044 template<>
0045 struct is_lockable<recursive_timed_mutex>
0046 {
0047 BOOST_STATIC_CONSTANT(bool, value = true);
0048 };
0049 #endif
0050
0051 template<>
0052 struct is_recursive_mutex_sur_parolle<recursive_mutex>
0053 {
0054 BOOST_STATIC_CONSTANT(bool, value = true);
0055 };
0056 template<>
0057 struct is_recursive_mutex_sur_parolle<recursive_timed_mutex>
0058 {
0059 BOOST_STATIC_CONSTANT(bool, value = true);
0060 };
0061
0062 }
0063 }
0064 #endif