ALib C++ Library
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
system.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 ========================================
22
23#include <filesystem>
24#if defined( __GNUC__ ) || ( defined(_WIN32) && defined(_MSC_VER))
25# include <errno.h>
26#endif
27
28//============================================== Module ============================================
29#if ALIB_C20_MODULES
30 /// This is a <em><b>C++ Module</b></em> of the \aliblong.
31 /// Due to the dual-compile option (either as C++20 Modules or using legacy C++ inclusion),
32 /// the C++20 Module names are not of further interest 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 ///
36 /// @see The documentation of the <em><b>"ALib Module"</b></em> given with the corresponding
37 /// Programmer's Manual \alib_system.
38 export module ALib.System;
39 import ALib.Lang;
40 import ALib.EnumOps;
41# if ALIB_MONOMEM
42 import ALib.Monomem;
43# endif
44# if ALIB_BOXING
45 import ALib.Boxing;
46# endif
47 import ALib.Strings;
48 import ALib.Strings.Tokenizer;
49 import ALib.Strings.Vector;
50 import ALib.EnumRecords;
51# if ALIB_CAMP
52 import ALib.Exceptions; // only if CAMP is available
53# endif
54#else
55# include "ALib.Lang.H"
56# include "ALib.Boxing.H"
57# include "ALib.Strings.H"
59# include "ALib.Strings.Vector.H"
60# include "ALib.Monomem.H"
61# include "ALib.EnumRecords.H"
62# include "ALib.Exceptions.H"
63#endif
64
65//============================================= Exports ============================================
69#include "alib/system/path.inl"