File indexing completed on 2025-12-15 10:09:31
0001 #ifndef BOOST_THREAD_MUTEX_HPP
0002 #define BOOST_THREAD_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/mutex.hpp>
0015 #elif defined(BOOST_THREAD_PLATFORM_PTHREAD)
0016 #include <boost/thread/pthread/mutex.hpp>
0017 #else
0018 #error "Boost threads unavailable on this platform"
0019 #endif
0020
0021 #include <boost/thread/lockable_traits.hpp>
0022
0023
0024 namespace boost
0025 {
0026 namespace sync
0027 {
0028 #ifdef BOOST_THREAD_NO_AUTO_DETECT_MUTEX_TYPES
0029 template<>
0030 struct is_basic_lockable<mutex>
0031 {
0032 BOOST_STATIC_CONSTANT(bool, value = true);
0033 };
0034 template<>
0035 struct is_lockable<mutex>
0036 {
0037 BOOST_STATIC_CONSTANT(bool, value = true);
0038 };
0039 template<>
0040 struct is_basic_lockable<timed_mutex>
0041 {
0042 BOOST_STATIC_CONSTANT(bool, value = true);
0043 };
0044 template<>
0045 struct is_lockable<timed_mutex>
0046 {
0047 BOOST_STATIC_CONSTANT(bool, value = true);
0048 };
0049 #endif
0050 }
0051 }
0052
0053 #endif