summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/boost/thread/barrier.hpp')
m---------3rdParty/Boost0
-rw-r--r--3rdParty/Boost/boost/thread/barrier.hpp63
2 files changed, 0 insertions, 63 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost
new file mode 160000
+Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79
diff --git a/3rdParty/Boost/boost/thread/barrier.hpp b/3rdParty/Boost/boost/thread/barrier.hpp
deleted file mode 100644
index 546f5e9..0000000
--- a/3rdParty/Boost/boost/thread/barrier.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (C) 2002-2003
-// David Moore, William E. Kempf
-// Copyright (C) 2007-8 Anthony Williams
-//
-// 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_BARRIER_JDM030602_HPP
-#define BOOST_BARRIER_JDM030602_HPP
-
-#include <boost/thread/detail/config.hpp>
-
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <string>
-#include <stdexcept>
-
-#include <boost/config/abi_prefix.hpp>
-
-namespace boost
-{
-
- class barrier
- {
- public:
- barrier(unsigned int count)
- : m_threshold(count), m_count(count), m_generation(0)
- {
- if (count == 0)
- throw std::invalid_argument("count cannot be zero.");
- }
-
- bool wait()
- {
- boost::mutex::scoped_lock lock(m_mutex);
- unsigned int gen = m_generation;
-
- if (--m_count == 0)
- {
- m_generation++;
- m_count = m_threshold;
- m_cond.notify_all();
- return true;
- }
-
- while (gen == m_generation)
- m_cond.wait(lock);
- return false;
- }
-
- private:
- mutex m_mutex;
- condition_variable m_cond;
- unsigned int m_threshold;
- unsigned int m_count;
- unsigned int m_generation;
- };
-
-} // namespace boost
-
-#include <boost/config/abi_suffix.hpp>
-
-#endif