ALib C++ Library
by
Library Version:
2510 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
enumrecords
enumrecords.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
#include "
alib/enumrecords/enumrecords.prepro.hpp
"
20
21
#if !ALIB_CONTAINERS
22
# include <unordered_map>
23
#endif
24
25
#if ALIB_BOXING && ALIB_DEBUG_BOXING
26
# include <vector>
27
#endif
28
// =========================================== Module ==========================================
29
#if ALIB_C20_MODULES
30
/// This is a C++ Module of the \aliblong. Due to the dual-compile option - as either
31
/// C++20 Modules or legacy C++ inclusion, the C++20 Module names are not of further interest
32
/// or use.<br>
33
/// In general, the names equal the names of the header files listed in the chapter
34
/// \ref alib_manual_modules_impludes of the \alib User Manual.
35
/// This chapter, among others, provides further explanations.
36
export
module
ALib.EnumRecords
;
37
import
ALib.Lang
;
38
import
ALib.EnumOps
;
39
# if !ALIB_SINGLE_THREADED
40
import
ALib.Threads
;
41
# endif
42
# if ALIB_CONTAINERS
43
import
ALib.Containers.HashTable
;
44
# endif
45
import
ALib.Singletons
;
46
# if ALIB_MONOMEM
47
import
ALib.Monomem
;
48
# endif
49
# if ALIB_STRINGS
50
import
ALib.Strings
;
51
# endif
52
# if ALIB_BOXING
53
import
ALib.Boxing
;
54
# endif
55
#else
56
# include "
ALib.Lang.H
"
57
# include "
ALib.EnumOps.H
"
58
# if !ALIB_SINGLE_THREADED
59
# include "
ALib.Threads.H
"
60
# endif
61
# include "
ALib.Containers.HashTable.H
"
62
# include "
ALib.Monomem.H
"
63
# include "
ALib.Strings.H
"
64
# include "
ALib.Singletons.H
"
65
# include "
ALib.Boxing.H
"
66
#endif
67
68
// ========================================== Exports ==========================================
69
#include "
alib/enumrecords/detail/enumrecordmap.inl
"
70
#include "
alib/enumrecords/records.inl
"
71
#include "
alib/enumrecords/serialization.inl
"
72
#include "
alib/enumrecords/builtin.inl
"
73
74
#if ALIB_BOXING
75
# include "
alib/enumrecords/boxing_enums.inl
"
76
#endif
77
78
ALib.Boxing.H
ALib.Containers.HashTable.H
ALib.EnumOps.H
ALib.Lang.H
ALib.Monomem.H
ALib.Singletons.H
ALib.Strings.H
ALib.Threads.H
boxing.prepro.hpp
boxing_enums.inl
builtin.inl
enumrecordmap.inl
enumrecords.prepro.hpp
ALib.Boxing
ALib.Containers.HashTable
ALib.EnumOps
ALib.EnumRecords
ALib.Lang
ALib.Monomem
ALib.Singletons
ALib.Strings
ALib.Threads
records.inl
serialization.inl