Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / thread / detail / lockable_wrapper.hpp
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;
26       explicit lockable_wrapper(Mutex& m_) :
27         m(&m_)
28       {}
29     };
30     template <typename Mutex>
31     struct lockable_adopt_wrapper
32     {
33       Mutex* m;
34       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