ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
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