]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lightweight_mutex.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
f6c159e6ab5926ec52d0a8e8d58e596611ea9cca
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / smart_ptr / detail / lightweight_mutex.hpp
1 #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
2 #define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r
3 \r
4 // MS compatible compilers support #pragma once\r
5 \r
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
7 # pragma once\r
8 #endif\r
9 \r
10 //\r
11 //  boost/detail/lightweight_mutex.hpp - lightweight mutex\r
12 //\r
13 //  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.\r
14 //\r
15 // Distributed under the Boost Software License, Version 1.0. (See\r
16 // accompanying file LICENSE_1_0.txt or copy at\r
17 // http://www.boost.org/LICENSE_1_0.txt)\r
18 //\r
19 //  typedef <unspecified> boost::detail::lightweight_mutex;\r
20 //\r
21 //  boost::detail::lightweight_mutex is a header-only implementation of\r
22 //  a subset of the Mutex concept requirements:\r
23 //\r
24 //  http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex\r
25 //\r
26 //  It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX.\r
27 //\r
28 \r
29 #include <boost/config.hpp>\r
30 \r
31 #if !defined(BOOST_HAS_THREADS)\r
32 #  include <boost/smart_ptr/detail/lwm_nop.hpp>\r
33 #elif defined(BOOST_HAS_PTHREADS)\r
34 #  include <boost/smart_ptr/detail/lwm_pthreads.hpp>\r
35 #elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)\r
36 #  include <boost/smart_ptr/detail/lwm_win32_cs.hpp>\r
37 #else\r
38 // Use #define BOOST_DISABLE_THREADS to avoid the error\r
39 #  error Unrecognized threading platform\r
40 #endif\r
41 \r
42 #endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED\r