summaryrefslogtreecommitdiff
path: root/boost/thread/v2/thread.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/thread/v2/thread.hpp')
-rw-r--r--boost/thread/v2/thread.hpp155
1 files changed, 0 insertions, 155 deletions
diff --git a/boost/thread/v2/thread.hpp b/boost/thread/v2/thread.hpp
deleted file mode 100644
index 53560610e2..0000000000
--- a/boost/thread/v2/thread.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// 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)
-// (C) Copyright 2011 Vicente J. Botet Escriba
-
-#ifndef BOOST_THREAD_V2_THREAD_HPP
-#define BOOST_THREAD_V2_THREAD_HPP
-
-#include <boost/thread/detail/config.hpp>
-#ifdef BOOST_THREAD_USES_CHRONO
-#include <boost/chrono/system_clocks.hpp>
-#include <boost/chrono/ceil.hpp>
-#endif
-#include <boost/thread/condition_variable.hpp>
-#include <boost/thread/lock_types.hpp>
-
-namespace boost
-{
- namespace this_thread
- {
- namespace no_interruption_point
- {
-#ifdef BOOST_THREAD_USES_CHRONO
-
- template <class Clock, class Duration>
- void sleep_until(const chrono::time_point<Clock, Duration>& t)
- {
- using namespace chrono;
- mutex mut;
- condition_variable cv;
- unique_lock<mutex> lk(mut);
- while (Clock::now() < t)
- cv.wait_until(lk, t);
- }
-
-#ifdef BOOST_THREAD_SLEEP_FOR_IS_STEADY
-
- template <class Rep, class Period>
- void sleep_for(const chrono::duration<Rep, Period>& d)
- {
- using namespace chrono;
- if (d > duration<Rep, Period>::zero())
- {
- duration<long double> Max = nanoseconds::max BOOST_PREVENT_MACRO_SUBSTITUTION ();
- nanoseconds ns;
- if (d < Max)
- {
- ns = duration_cast<nanoseconds>(d);
- if (ns < d)
- ++ns;
- }
- else
- ns = nanoseconds:: max BOOST_PREVENT_MACRO_SUBSTITUTION ();
- sleep_for(ns);
- }
- }
-
- template <class Duration>
- inline BOOST_SYMBOL_VISIBLE
- void sleep_until(const chrono::time_point<chrono::steady_clock, Duration>& t)
- {
- using namespace chrono;
- sleep_for(t - steady_clock::now());
- }
-#else
- template <class Rep, class Period>
- void sleep_for(const chrono::duration<Rep, Period>& d)
- {
- using namespace chrono;
- if (d > duration<Rep, Period>::zero())
- {
- steady_clock::time_point c_timeout = steady_clock::now() + ceil<nanoseconds>(d);
- sleep_until(c_timeout);
- }
- }
-
-#endif
-
-#endif
- }
-#ifdef BOOST_THREAD_USES_CHRONO
-
- template <class Clock, class Duration>
- void sleep_until(const chrono::time_point<Clock, Duration>& t)
- {
- using namespace chrono;
- mutex mut;
- condition_variable cv;
- unique_lock<mutex> lk(mut);
- while (Clock::now() < t)
- cv.wait_until(lk, t);
- }
-
-#if defined BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC && defined BOOST_CHRONO_HAS_CLOCK_STEADY
- template <class Rep, class Period>
- void sleep_for(const chrono::duration<Rep, Period>& d)
- {
- using namespace chrono;
- if (d > duration<Rep, Period>::zero())
- {
- steady_clock::time_point c_timeout = steady_clock::now() + ceil<nanoseconds>(d);
- sleep_until(c_timeout);
- }
- }
-
-#elif defined BOOST_THREAD_SLEEP_FOR_IS_STEADY
-
- template <class Rep, class Period>
- void sleep_for(const chrono::duration<Rep, Period>& d)
- {
- using namespace chrono;
- if (d > duration<Rep, Period>::zero())
- {
- duration<long double> Max = nanoseconds::max BOOST_PREVENT_MACRO_SUBSTITUTION ();
- nanoseconds ns;
- if (d < Max)
- {
- ns = duration_cast<nanoseconds>(d);
- if (ns < d)
- ++ns;
- }
- else
- ns = nanoseconds:: max BOOST_PREVENT_MACRO_SUBSTITUTION ();
- sleep_for(ns);
- }
- }
-
- template <class Duration>
- inline BOOST_SYMBOL_VISIBLE
- void sleep_until(const chrono::time_point<chrono::steady_clock, Duration>& t)
- {
- using namespace chrono;
- sleep_for(t - steady_clock::now());
- }
-#else
- template <class Rep, class Period>
- void sleep_for(const chrono::duration<Rep, Period>& d)
- {
- using namespace chrono;
- if (d > duration<Rep, Period>::zero())
- {
- //system_clock::time_point c_timeout = time_point_cast<system_clock::duration>(system_clock::now() + ceil<nanoseconds>(d));
- system_clock::time_point c_timeout = system_clock::now() + ceil<system_clock::duration>(d);
- sleep_until(c_timeout);
- }
- }
-
-#endif
-
-#endif
- }
-}
-
-
-#endif