ALib C++ Library
by
Library Version:
2510 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
boxing
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 ======================================
18
#include "
alib/boxing/boxing.prepro.hpp
"
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
52
import
ALib.Containers.HashTable
;
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
"
65
#include "
ALib.Containers.HashTable.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 ==========================================
74
#include "
alib/boxing/placeholder.inl
"
75
#include "
alib/boxing/boxingtraits.inl
"
76
#include "
alib/boxing/functiondecls.inl
"
77
#include "
alib/boxing/detail/vtable.inl
"
78
#include "
alib/boxing/box.inl
"
79
#include "
alib/boxing/boxes.inl
"
80
#include "
alib/boxing/enum.inl
"
81
#include "
alib/boxing/boxing_debug.inl
"
82
#include "
alib/boxing/boxstrap.inl
"
83
84
#include "
alib/boxing/strings_appendables.inl
"
85
#include "
alib/boxing/extensions/strings_tfield.inl
"
86
87
88
ALib.Containers.HashTable.H
ALib.Lang.H
ALib.Monomem.H
ALib.Singletons.H
ALib.Strings.H
ALib.Strings.Token.H
ALib.Threads.H
ALib.Time.H
box.inl
boxes.inl
placeholder.inl
boxing.prepro.hpp
boxing_debug.inl
boxingtraits.inl
boxstrap.inl
enum.inl
functiondecls.inl
ALib.Boxing
ALib.Containers.HashTable
ALib.Lang
ALib.Monomem
ALib.Singletons
ALib.Strings.Token
ALib.Strings
ALib.Threads
ALib.Time
strings_appendables.inl
strings_tfield.inl
vtable.inl