ALib C++ Library
by
Library Version:
2510 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
lang
lang.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 defined(_WIN32)
21
# include <intrin.h>
22
#endif
23
#include <array>
24
#include <vector>
25
#include <algorithm>
26
27
#include <cmath>
28
#include <chrono>
29
30
#if !ALIB_SINGLE_THREADED
31
# include <mutex>
32
# include <shared_mutex>
33
# include <future>
34
# include <condition_variable>
35
#endif
36
37
#include <cstring>
38
39
#include <typeindex>
40
#if ALIB_DEBUG
41
# include <any>
42
# include <iostream>
43
# include <span>
44
#endif
45
46
// =========================================== Module ==========================================
47
#if ALIB_C20_MODULES
48
/// This is a C++ Module of the \aliblong. Due to the dual-compile option - as either
49
/// C++20 Modules or legacy C++ inclusion, the C++20 Module names are not of further interest
50
/// or use.<br>
51
/// In general, the names equal the names of the header files listed in the chapter
52
/// \ref alib_manual_modules_impludes of the \alib User Manual.
53
/// This chapter, among others, provides further explanations.
54
export
module
ALib.Lang
;
55
#else
56
#endif
57
58
// ========================================== Exports ==========================================
59
ALIB_EXPORT
namespace
alib
{
60
/// This is a simple copyable set of bits comprising the compilation flags.
61
/// @see Used with methods \alib{Bootstrap} which calls \alib{AssertALibVersionAndFlags}.
62
struct
TCompilationFlags
{
unsigned
char
bits
[5];
/**< The Flags.*/
};
63
}
64
65
#include "
alib/lang/callerinfo.inl
"
66
#include "
alib/assert.inl
"
67
#include "
alib/mainargs.inl
"
68
#include "
alib/chk_nc.inl
"
69
#include "
alib/lang/tmp.inl
"
70
#include "
alib/lang/placeholder.inl
"
71
#include "
alib/lang/integers.inl
"
72
#include "
alib/lang/dbgtypedemangler.inl
"
73
#include "
alib/lang/dbgcriticalsections.inl
"
74
#include "
alib/lang/allocation.inl
"
75
#include "
alib/lang/commonenumdefs.inl
"
76
#include "
alib/lang/bits.inl
"
77
#include "
alib/lang/bitset.inl
"
78
#include "
alib/lang/sidilist.inl
"
79
#include "
alib/lang/bidilist.inl
"
80
#include "
alib/lang/owner.inl
"
81
#include "
alib/lang/rttrallocator.inl
"
82
#include "
alib/lang/plugins.inl
"
83
#include "
alib/lang/stdcontainerallocator.inl
"
84
#include "
alib/lang/stdtypeinfofunctors.inl
"
85
86
#include "
alib/characters/chartypes.inl
"
87
#include "
alib/characters/chartraits.inl
"
88
89
90
alib.inl
allocation.inl
assert.inl
bidilist.inl
bits.inl
bitset.inl
callerinfo.inl
chartraits.inl
chartypes.inl
chk_nc.inl
commonenumdefs.inl
dbgcriticalsections.inl
dbgtypedemangler.inl
ALIB_EXPORT
#define ALIB_EXPORT
Definition
alib.inl:488
integers.inl
placeholder.inl
mainargs.inl
ALib.Lang
alib
Definition
ALib.Boxing.StdFunctors.H:18
owner.inl
plugins.inl
rttrallocator.inl
sidilist.inl
stdcontainerallocator.inl
stdtypeinfofunctors.inl
alib::TCompilationFlags
Definition
lang.mpp:62
alib::TCompilationFlags::bits
unsigned char bits[5]
Definition
lang.mpp:62
tmp.inl