summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/boost/asio/detail/scoped_lock.hpp')
m---------3rdParty/Boost0
-rw-r--r--3rdParty/Boost/boost/asio/detail/scoped_lock.hpp93
2 files changed, 0 insertions, 93 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost
new file mode 160000
+Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79
diff --git a/3rdParty/Boost/boost/asio/detail/scoped_lock.hpp b/3rdParty/Boost/boost/asio/detail/scoped_lock.hpp
deleted file mode 100644
index 1dd2842..0000000
--- a/3rdParty/Boost/boost/asio/detail/scoped_lock.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// scoped_lock.hpp
-// ~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// 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)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP
-#define BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/push_options.hpp>
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper class to lock and unlock a mutex automatically.
-template <typename Mutex>
-class scoped_lock
- : private noncopyable
-{
-public:
- // Constructor acquires the lock.
- scoped_lock(Mutex& m)
- : mutex_(m)
- {
- mutex_.lock();
- locked_ = true;
- }
-
- // Destructor releases the lock.
- ~scoped_lock()
- {
- if (locked_)
- mutex_.unlock();
- }
-
- // Explicitly acquire the lock.
- void lock()
- {
- if (!locked_)
- {
- mutex_.lock();
- locked_ = true;
- }
- }
-
- // Explicitly release the lock.
- void unlock()
- {
- if (locked_)
- {
- mutex_.unlock();
- locked_ = false;
- }
- }
-
- // Test whether the lock is held.
- bool locked() const
- {
- return locked_;
- }
-
- // Get the underlying mutex.
- Mutex& mutex()
- {
- return mutex_;
- }
-
-private:
- // The underlying mutex.
- Mutex& mutex_;
-
- // Whether the mutex is currently locked or unlocked.
- bool locked_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP