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 2009-2012 Vicente J. Botet Escriba 5 6 #ifndef BOOST_THREAD_LOCK_TRAITS_HPP 7 #define BOOST_THREAD_LOCK_TRAITS_HPP 8 9 #include <boost/thread/detail/config.hpp> 10 //#include <boost/thread/detail/move.hpp> 11 //#include <boost/thread/exceptions.hpp> 12 // 13 //#ifdef BOOST_THREAD_USES_CHRONO 14 //#include <boost/chrono/time_point.hpp> 15 //#include <boost/chrono/duration.hpp> 16 //#endif 17 18 #include <boost/type_traits/integral_constant.hpp> 19 20 #include <boost/config/abi_prefix.hpp> 21 22 namespace boost 23 { 24 25 /** 26 * An strict lock is a lock ensuring the mutex is locked on the scope of the lock 27 * There is no single way to define a strict lock as the strict_lock and 28 * nesteed_strict_lock shows. So we need a metafunction that states if a 29 * lock is a strict lock "sur parole". 30 */ 31 32 template <typename Lock> 33 struct is_strict_lock_sur_parolle : false_type {}; 34 35 36 template <typename Lock> 37 struct is_strict_lock_sur_parole : is_strict_lock_sur_parolle<Lock> {}; 38 39 template <typename Lock> 40 struct is_strict_lock : is_strict_lock_sur_parole<Lock> {}; 41 42 } 43 #include <boost/config/abi_suffix.hpp> 44 45 #endif 46