Peano
Loading...
Searching...
No Matches
BooleanSemaphore.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
4
5namespace tarch {
6 namespace multicore {
9 class Lock;
10 }
11
12 namespace mpi {
13 class BooleanSemaphore;
14 }
15}
16
17
18
19#if defined(SharedCPP)
20 #include "cpp/BooleanSemaphore.h"
21#elif defined(SharedTBB)
22 #include "tbb/BooleanSemaphore.h"
23#elif defined(SharedOMP)
24 #include "omp/BooleanSemaphore.h"
25#elif defined(SharedSYCL)
27#elif !defined(_TARCH_MULTICORE_BOOLEAN_SEMAPHORE_H_)
28#define _TARCH_MULTICORE_BOOLEAN_SEMAPHORE_H_
29
30#include <string>
31
32
122 private:
123 friend class tarch::multicore::Lock;
124 friend class RecursiveSemaphore;
126 friend class tarch::mpi::BooleanSemaphore;
127
132
137
148
153
157 BooleanSemaphore& operator = ( const BooleanSemaphore& ) { return *this; }
158
159 public:
162
164};
165
166#endif
Boolean semaphore across MPI ranks.
BooleanSemaphore & operator=(const BooleanSemaphore &)
You may not copy a semaphore.
friend class tarch::mpi::BooleanSemaphore
Create a lock around a boolean semaphore region.
Definition Lock.h:19
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19