ALib C++ Library
by
Library Version:
2511 R0
Documentation generated by
Loading...
Searching...
No Matches
A-Worx
ALib
src
alib
threads
threads.mpp
Go to the documentation of this file.
1
//==================================================================================================
2
/// \file
3
/// This header-file is part of the \aliblong.
4
/// With supporting legacy or module builds, .mpp-files are either recognized by the build-system
5
/// as C++20 Module interface files, or are included by the
6
/// \ref alib_manual_modules_impludes "import/include headers".
7
///
8
/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
9
/// Published under \ref mainpage_license "Boost Software License".
10
//==================================================================================================
11
#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
12
# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
13
#endif
14
#if ALIB_C20_MODULES
15
module
;
16
#endif
17
//========================================= Global Fragment ========================================
18
#include "
alib/alib.inl
"
19
20
#if !ALIB_SINGLE_THREADED
21
# include <mutex>
22
# include <shared_mutex>
23
# include <future>
24
# include <condition_variable>
25
#endif
26
27
//============================================== Module ============================================
28
#if ALIB_C20_MODULES
29
/// This is a <em><b>C++ Module</b></em> of the \aliblong.
30
/// Due to the dual-compile option (either as C++20 Modules or using legacy C++ inclusion),
31
/// the C++20 Module names are not of further interest or use.<br>
32
/// In general, the names equal the names of the header files listed in the chapter
33
/// \ref alib_manual_modules_impludes of the \alib User Manual.
34
///
35
/// @see The documentation of the <em><b>"ALib Module"</b></em> given with the corresponding
36
/// Programmer's Manual \alib_threads.
37
export
module
ALib.Threads;
38
import
ALib.Lang;
39
import
ALib.Time;
40
#else
41
# include "
ALib.Lang.H
"
42
# include "
ALib.Time.H
"
43
#endif
44
45
//============================================= Exports ============================================
46
#include "
alib/threads/thread.inl
"
47
#if !ALIB_SINGLE_THREADED
48
#include "
alib/threads/dbgasserters.inl
"
49
#include "
alib/threads/lock.inl
"
50
#include "
alib/threads/recursivelock.inl
"
51
#include "
alib/threads/recursivetimedlock.inl
"
52
#include "
alib/threads/sharedlock.inl
"
53
#include "
alib/threads/sharedtimedlock.inl
"
54
#include "
alib/threads/timedlock.inl
"
55
56
#include "
alib/threads/condition.inl
"
57
#include "
alib/threads/promise.inl
"
58
#endif
ALib.Lang.H
ALib.Time.H
alib.inl
condition.inl
dbgasserters.inl
lock.inl
promise.inl
recursivelock.inl
recursivetimedlock.inl
sharedlock.inl
sharedtimedlock.inl
thread.inl
timedlock.inl