ALib C++ Library
Library Version: 2510 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/// \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 ==========================================
59ALIB_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}.
62struct TCompilationFlags { unsigned char bits[5]; /**< The Flags.*/ };
63}
64
66#include "alib/assert.inl"
67#include "alib/mainargs.inl"
68#include "alib/chk_nc.inl"
69#include "alib/lang/tmp.inl"
76#include "alib/lang/bits.inl"
77#include "alib/lang/bitset.inl"
80#include "alib/lang/owner.inl"
82#include "alib/lang/plugins.inl"
85
88
89
90
#define ALIB_EXPORT
Definition alib.inl:488
unsigned char bits[5]
Definition lang.mpp:62