summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp')
-rw-r--r--graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp99
1 files changed, 0 insertions, 99 deletions
diff --git a/graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp b/graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
deleted file mode 100644
index e3c08038db..0000000000
--- a/graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*! \file
-* \brief Size policies.
-*
-* This file contains size policies for thread_pool. A size
-* policy controls the number of worker threads in the pool.
-*
-* Copyright (c) 2005-2007 Philipp Henkel
-*
-* Use, modification, and distribution are subject to 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)
-*
-* http://threadpool.sourceforge.net
-*
-*/
-
-
-#ifndef THREADPOOL_SIZE_POLICIES_HPP_INCLUDED
-#define THREADPOOL_SIZE_POLICIES_HPP_INCLUDED
-
-
-
-/// The namespace threadpool contains a thread pool and related utility classes.
-namespace boost { namespace threadpool
-{
-
- /*! \brief SizePolicyController which provides no functionality.
- *
- * \param Pool The pool's core type.
- */
- template<typename Pool>
- struct empty_controller
- {
- empty_controller(typename Pool::size_policy_type&, shared_ptr<Pool>) {}
- };
-
-
- /*! \brief SizePolicyController which allows resizing.
- *
- * \param Pool The pool's core type.
- */
- template< typename Pool >
- class resize_controller
- {
- typedef typename Pool::size_policy_type size_policy_type;
- reference_wrapper<size_policy_type> m_policy;
- shared_ptr<Pool> m_pool; //!< to make sure that the pool is alive (the policy pointer is valid) as long as the controller exists
-
- public:
- resize_controller(size_policy_type& policy, shared_ptr<Pool> pool)
- : m_policy(policy)
- , m_pool(pool)
- {
- }
-
- bool resize(size_t worker_count)
- {
- return m_policy.get().resize(worker_count);
- }
- };
-
-
- /*! \brief SizePolicy which preserves the thread count.
- *
- * \param Pool The pool's core type.
- */
- template<typename Pool>
- class static_size
- {
- reference_wrapper<Pool volatile> m_pool;
-
- public:
- static void init(Pool& pool, size_t const worker_count)
- {
- pool.resize(worker_count);
- }
-
- static_size(Pool volatile & pool)
- : m_pool(pool)
- {}
-
- bool resize(size_t const worker_count)
- {
- return m_pool.get().resize(worker_count);
- }
-
- void worker_died_unexpectedly(size_t const new_worker_count)
- {
- m_pool.get().resize(new_worker_count + 1);
- }
-
- // TODO this functions are not called yet
- void task_scheduled() {}
- void task_finished() {}
- };
-
-} } // namespace boost::threadpool
-
-#endif // THREADPOOL_SIZE_POLICIES_HPP_INCLUDED