ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
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/// #"alib_manual_modules_impludes;import/include headers".
7///
8/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
9/// Published under #"mainpage_license".
10//==================================================================================================
11#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
12# error "Configuration MACRO 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 <algorithm>
24#include <array>
25#include <chrono>
26#include <cmath>
27#include <cstring>
28#include <memory>
29#include <span>
30#include <string>
31#include <string_view>
32#include <typeindex>
33#include <vector>
34
35
36#if !ALIB_SINGLE_THREADED
37# include <condition_variable>
38# include <future>
39# include <mutex>
40# include <shared_mutex>
41#endif
42
43
44#if ALIB_DEBUG
45# include <any>
46# include <iostream>
47#endif
48
49//============================================== Module ============================================
50#if ALIB_C20_MODULES
51 /// This is a <em><b>C++ Module</b></em> of the \aliblong.
52 /// Due to the dual-compile option (either as C++20 Modules or using legacy C++ inclusion),
53 /// the C++20 Module names are not of further interest or use.<br>
54 /// In general, the names equal the names of the header files listed in the chapter
55 /// #"alib_manual_modules_impludes" of the \alib User Manual.
56 ///
57 /// @see The documentation of the <em><b>"ALib Module"</b></em> given with the corresponding
58 /// Programmer's Manual \alib_lang.
59 export module ALib.Lang;
60#else
61#endif
62
63//============================================= Exports ============================================
64ALIB_EXPORT namespace alib {
65
66/// This is a simple copyable set of bits comprising the compilation flags.
67/// @see Used with methods #"Bootstrap" which calls #"AssertALibVersionAndFlags".
69 unsigned char bits[5]; ///< The Flags.
70};
71}
72
74#include "alib/assert.inl"
75#include "alib/mainargs.inl"
76#include "alib/chk_nc.inl"
77#include "alib/lang/tmp.inl"
86#include "alib/lang/bits.inl"
87#include "alib/lang/bitset.inl"
88#include "alib/lang/owner.inl"
89#include "alib/lang/plugins.inl"
91
#define ALIB_EXPORT
Definition alib.inl:562
unsigned char bits[5]
The Flags.
Definition lang.mpp:69