ALib C++ Library
by
Library Version:
2510 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
system
system.prepro.hpp
Go to the documentation of this file.
1
//==================================================================================================
2
/// \file
3
/// This header-file is part of the \aliblong.
4
///
5
/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
6
/// Published under \ref mainpage_license "Boost Software License".
7
//==================================================================================================
8
#ifndef HPP_ALIB_SYSTEM_PP
9
#define HPP_ALIB_SYSTEM_PP
10
#pragma once
11
12
#ifndef INL_ALIB
13
# include "
alib/alib.inl
"
14
#endif
15
#if ALIB_SYSTEM
16
17
// #################################################################################################
18
// Symbols introduced by module ALib.System
19
// #################################################################################################
20
// Symbol ALIB_PATH_CHARACTERS_WIDE and macro A_PATH for literals
21
#if !defined(ALIB_PATH_CHARACTERS_WIDE)
22
# if defined(_WIN32)
23
# define ALIB_PATH_CHARACTERS_WIDE 1
24
# else
25
# define ALIB_PATH_CHARACTERS_WIDE 0
26
# endif
27
#endif
28
29
#if ALIB_PATH_CHARACTERS_WIDE
30
# define A_PATH(literal) L##literal
31
#else
32
# define A_PATH(literal) literal
33
#endif
34
35
#if ALIB_CHARACTERS_WIDE == ALIB_PATH_CHARACTERS_WIDE
36
# define ALIB_PATH_TO_STRING( src,dest,bufSize ) decltype(src)& dest(src);
37
# define ALIB_PATH_TO_STRING_ARG( src,bufSize ) src;
38
# define ALIB_STRING_TO_PATH( src,dest,bufSize ) decltype(src)& dest(src);
39
# define ALIB_STRING_TO_PATH_ARG( src,bufSize ) src;
40
#else
41
# define ALIB_PATH_TO_STRING( src,dest,bufSize ) alib::strings::TLocalString<alib::characters::character ,bufSize> dest(src);
42
# define ALIB_PATH_TO_STRING_ARG( src,bufSize ) alib::strings::TLocalString<alib::characters::character ,bufSize>(src);
43
# define ALIB_STRING_TO_PATH( src,dest,bufSize ) alib::strings::TLocalString<alib::system::PathCharType ,bufSize> dest(src);
44
# define ALIB_STRING_TO_PATH_ARG( src,bufSize ) alib::strings::TLocalString<alib::system::PathCharType ,bufSize>(src);
45
#endif
46
47
#if !ALIB_PATH_CHARACTERS_WIDE
48
# define ALIB_PATH_TO_NARROW( src,dest,bufSize ) decltype(src)& dest(src);
49
# define ALIB_PATH_TO_NARROW_ARG( src,bufSize ) src;
50
#else
51
# define ALIB_PATH_TO_NARROW( src,dest,bufSize ) alib::strings::TLocalString<alib::characters::nchar, bufSize> dest(src);
52
# define ALIB_PATH_TO_NARROW_ARG( src,bufSize ) alib::strings::TLocalString<alib::characters::nchar, bufSize>(src);
53
#endif
54
55
56
57
58
#endif
59
#endif
// HPP_ALIB_SYSTEM_PP
60
alib.inl