ALib C++ Library
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
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 ============================================
47#if !ALIB_SINGLE_THREADED
49#include "alib/threads/lock.inl"
55
58#endif