1 // Distributed under the Boost Software License, Version 1.0. (See 2 // accompanying file LICENSE_1_0.txt or copy at 3 // http://www.boost.org/LICENSE_1_0.txt) 4 // (C) Copyright 2012 Vicente J. Botet Escriba 5 6 #ifndef BOOST_THREAD_DETAIL_LOCKABLE_WRAPPER_HPP 7 #define BOOST_THREAD_DETAIL_LOCKABLE_WRAPPER_HPP 8 9 #include <boost/thread/detail/config.hpp> 10 11 #if ! defined BOOST_THREAD_NO_CXX11_HDR_INITIALIZER_LIST 12 #include <initializer_list> 13 #endif 14 #include <boost/config/abi_prefix.hpp> 15 16 namespace boost 17 { 18 19 #if ! defined BOOST_THREAD_NO_CXX11_HDR_INITIALIZER_LIST 20 namespace thread_detail 21 { 22 template <typename Mutex> 23 struct lockable_wrapper 24 { 25 Mutex* m; lockable_wrapperboost::thread_detail::lockable_wrapper26 explicit lockable_wrapper(Mutex& m_) : 27 m(&m_) 28 {} 29 }; 30 template <typename Mutex> 31 struct lockable_adopt_wrapper 32 { 33 Mutex* m; lockable_adopt_wrapperboost::thread_detail::lockable_adopt_wrapper34 explicit lockable_adopt_wrapper(Mutex& m_) : 35 m(&m_) 36 {} 37 }; 38 } 39 #endif 40 41 } 42 43 #include <boost/config/abi_suffix.hpp> 44 45 #endif // header 46