/Src/Dependencies/Boost/boost/signals2/detail/unique_lock.hpp
http://hadesmem.googlecode.com/ · C++ Header · 42 lines · 28 code · 5 blank · 9 comment · 0 complexity · 305a935b5693bfe2060b086204f7436d MD5 · raw file
- /*
- Provides a basic subset of boost::unique_lock functionality. Provided only because
- including boost/thread/locks.hpp requires linking to thread library
- */
- // Copyright Frank Mori Hess 2008.
- // Distributed under the Boost Software License, Version
- // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- // See http://www.boost.org/libs/signals2 for library home page.
- #ifndef BOOST_SIGNALS2_UNIQUE_LOCK_HPP
- #define BOOST_SIGNALS2_UNIQUE_LOCK_HPP
- #include <boost/noncopyable.hpp>
- namespace boost
- {
- namespace signals2
- {
- namespace detail
- {
- template<typename Mutex>
- class unique_lock: public noncopyable
- {
- public:
- unique_lock(Mutex &m): _mutex(m)
- {
- _mutex.lock();
- }
- ~unique_lock()
- {
- _mutex.unlock();
- }
- private:
- Mutex &_mutex;
- };
- } // namespace detail
- } // namespace signals2
- } // namespace boost
- #endif // BOOST_SIGNALS2_UNIQUE_LOCK_HPP