ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
boxing.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 ======================================
19
20#include <cstring>
21#include <functional>
22#include <vector>
23#include <typeindex>
24#include <array>
25#if ALIB_DEBUG && (!ALIB_MONOMEM || !ALIB_CONTAINERS)
26# include <unordered_set>
27# include <unordered_map>
28#endif
29
30#if ALIB_DEBUG_BOXING
31# include <tuple>
32#endif
33
34// =========================================== Module ==========================================
35#if ALIB_C20_MODULES
36 /// This is a C++ Module of the \aliblong. Due to the dual-compile option - as either
37 /// C++20 Modules or legacy C++ inclusion, the C++20 Module names are not of further interest
38 /// or use.<br>
39 /// In general, the names equal the names of the header files listed in the chapter
40 /// \ref alib_manual_modules_impludes of the \alib User Manual.
41 /// This chapter, among others, provides further explanations.
42 export module ALib.Boxing;
43# if !ALIB_SINGLE_THREADED
44 import ALib.Threads;
45# endif
46 import ALib.Singletons;
47 import ALib.Lang;
48 import ALib.Time;
49# if ALIB_MONOMEM
50 import ALib.Monomem;
51# if ALIB_CONTAINERS
53# endif
54# endif
55# if ALIB_STRINGS
56 import ALib.Strings;
57 import ALib.Strings.Token;
58# endif
59#else
60# if !ALIB_SINGLE_THREADED
61# include "ALib.Threads.H"
62# endif
63 #include "ALib.Singletons.H"
64 #include "ALib.Lang.H"
66 #include "ALib.Time.H"
67 #include "ALib.Monomem.H"
68 #include "ALib.Strings.H"
69 #include "ALib.Strings.Token.H"
70#endif
71
72
73// ========================================== Exports ==========================================
78#include "alib/boxing/box.inl"
79#include "alib/boxing/boxes.inl"
80#include "alib/boxing/enum.inl"
83
86
87
88