diff options
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/thread/detail/function_wrapper.hpp')
-rw-r--r-- | src/third_party/boost-1.56.0/boost/thread/detail/function_wrapper.hpp | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/third_party/boost-1.56.0/boost/thread/detail/function_wrapper.hpp b/src/third_party/boost-1.56.0/boost/thread/detail/function_wrapper.hpp deleted file mode 100644 index 2200f0e0543..00000000000 --- a/src/third_party/boost-1.56.0/boost/thread/detail/function_wrapper.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (C) 2013 Vicente J. Botet Escriba -// -// 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) -// -// 2013/09 Vicente J. Botet Escriba -// Adapt to boost from CCIA C++11 implementation -// Make use of Boost.Move - -#ifndef BOOST_THREAD_DETAIL_FUNCTION_WRAPPER_HPP -#define BOOST_THREAD_DETAIL_FUNCTION_WRAPPER_HPP - -#include <boost/config.hpp> -#include <boost/thread/detail/memory.hpp> -#include <boost/thread/detail/move.hpp> - -#include <boost/thread/csbl/memory/unique_ptr.hpp> - -#include <memory> -#include <functional> - -namespace boost -{ - namespace detail - { - class function_wrapper - { - struct impl_base - { - virtual void call()=0; - virtual ~impl_base() - { - } - }; - typedef boost::csbl::unique_ptr<impl_base> impl_base_type; - impl_base_type impl; - template <typename F> - struct impl_type: impl_base - { - F f; - impl_type(F const &f_) - : f(f_) - {} - impl_type(BOOST_THREAD_RV_REF(F) f_) - : f(boost::move(f_)) - {} - - void call() - { - f(); - } - }; - public: - BOOST_THREAD_MOVABLE_ONLY(function_wrapper) - -//#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES - template<typename F> - function_wrapper(F const& f): - impl(new impl_type<F>(f)) - {} -//#endif - template<typename F> - function_wrapper(BOOST_THREAD_RV_REF(F) f): - impl(new impl_type<F>(boost::forward<F>(f))) - {} - function_wrapper(BOOST_THREAD_RV_REF(function_wrapper) other) BOOST_NOEXCEPT : - impl(other.impl) - { - other.impl = 0; - } - function_wrapper() - : impl(0) - { - } - ~function_wrapper() - { - } - - function_wrapper& operator=(BOOST_THREAD_RV_REF(function_wrapper) other) BOOST_NOEXCEPT - { - impl=other.impl; - other.impl=0; - return *this; - } - - void operator()() - { impl->call();} - - }; - } -} - -#endif // header |