Home | History | Annotate | Download | only in CXX11
      1 // This file is part of Eigen, a lightweight C++ template library
      2 // for linear algebra.
      3 //
      4 // Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog (a] gmail.com>
      5 //
      6 // This Source Code Form is subject to the terms of the Mozilla
      7 // Public License v. 2.0. If a copy of the MPL was not distributed
      8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
      9 
     10 #ifndef EIGEN_CXX11_THREADPOOL_MODULE
     11 #define EIGEN_CXX11_THREADPOOL_MODULE
     12 
     13 #include "../../../Eigen/Core"
     14 
     15 #include <Eigen/src/Core/util/DisableStupidWarnings.h>
     16 
     17 /** \defgroup CXX11_ThreadPool_Module C++11 ThreadPool Module
     18   *
     19   * This module provides 2 threadpool implementations
     20   *  - a simple reference implementation
     21   *  - a faster non blocking implementation
     22   *
     23   * This module requires C++11.
     24   *
     25   * \code
     26   * #include <Eigen/CXX11/ThreadPool>
     27   * \endcode
     28   */
     29 
     30 
     31 // The code depends on CXX11, so only include the module if the
     32 // compiler supports it.
     33 #if __cplusplus > 199711L || EIGEN_COMP_MSVC >= 1900
     34 #include <cstddef>
     35 #include <cstring>
     36 #include <stdint.h>
     37 #include <time.h>
     38 
     39 #include <vector>
     40 #include <atomic>
     41 #include <condition_variable>
     42 #include <deque>
     43 #include <mutex>
     44 #include <thread>
     45 #include <functional>
     46 #include <memory>
     47 
     48 #include "src/util/CXX11Meta.h"
     49 #include "src/util/MaxSizeVector.h"
     50 
     51 #include "src/ThreadPool/ThreadLocal.h"
     52 #include "src/ThreadPool/ThreadYield.h"
     53 #include "src/ThreadPool/EventCount.h"
     54 #include "src/ThreadPool/RunQueue.h"
     55 #include "src/ThreadPool/ThreadPoolInterface.h"
     56 #include "src/ThreadPool/ThreadEnvironment.h"
     57 #include "src/ThreadPool/SimpleThreadPool.h"
     58 #include "src/ThreadPool/NonBlockingThreadPool.h"
     59 
     60 #endif
     61 
     62 #include <Eigen/src/Core/util/ReenableStupidWarnings.h>
     63 
     64 #endif // EIGEN_CXX11_THREADPOOL_MODULE
     65 
     66