Eigen
3.4.90 (git rev 5a9f66fb35d03a4da9ef8976e67a61b30aa16dcf)
Loading...
Searching...
No Matches
ThreadPool
1
// This file is part of Eigen, a lightweight C++ template library
2
// for linear algebra.
3
//
4
// Copyright (C) 2016 Benoit Steiner <
[email protected]
>
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_THREADPOOL_MODULE_H
11
#define EIGEN_THREADPOOL_MODULE_H
12
13
#include "Core"
14
15
#include "src/Core/util/DisableStupidWarnings.h"
16
28
#include <cstddef>
29
#include <cstring>
30
#include <time.h>
31
32
#include <vector>
33
#include <atomic>
34
#include <condition_variable>
35
#include <deque>
36
#include <mutex>
37
#include <thread>
38
#include <functional>
39
#include <memory>
40
#include <utility>
41
42
// There are non-parenthesized calls to "max" in the <unordered_map> header,
43
// which trigger a check in test/main.h causing compilation to fail.
44
// We work around the check here by removing the check for max in
45
// the case where we have to emulate thread_local.
46
#ifdef max
47
#undef max
48
#endif
49
#include <unordered_map>
50
51
#include "src/Core/util/Meta.h"
52
#include "src/Core/util/MaxSizeVector.h"
53
54
#ifndef EIGEN_MUTEX
55
#define EIGEN_MUTEX std::mutex
56
#endif
57
#ifndef EIGEN_MUTEX_LOCK
58
#define EIGEN_MUTEX_LOCK std::unique_lock<std::mutex>
59
#endif
60
#ifndef EIGEN_CONDVAR
61
#define EIGEN_CONDVAR std::condition_variable
62
#endif
63
64
// IWYU pragma: begin_exports
65
#include "src/ThreadPool/ThreadLocal.h"
66
#include "src/ThreadPool/ThreadYield.h"
67
#include "src/ThreadPool/ThreadCancel.h"
68
#include "src/ThreadPool/EventCount.h"
69
#include "src/ThreadPool/RunQueue.h"
70
#include "src/ThreadPool/ThreadPoolInterface.h"
71
#include "src/ThreadPool/ThreadEnvironment.h"
72
#include "src/ThreadPool/Barrier.h"
73
#include "src/ThreadPool/NonBlockingThreadPool.h"
74
#include "src/ThreadPool/CoreThreadPoolDevice.h"
75
// IWYU pragma: end_exports
76
77
#include "src/Core/util/ReenableStupidWarnings.h"
78
79
#endif
// EIGEN_CXX11_THREADPOOL_MODULE_H
Eigen
ThreadPool
Generated on Tue May 28 2024 11:34:56 for Eigen by
1.11.0