123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- 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
|