This header-file is part of the ALib C++ Framework.
Copyright 2013-2026 A-Worx GmbH, Germany. Published under License.
Definition in file system.prepro.hpp.
#include "alib/alib.prepro.hpp"Go to the source code of this file.
Macros | |
| #define | A_PATH(literal) |
| #define | ALIB_PATH_CHARACTERS_WIDE 1 |
| #define | ALIB_PATH_TO_NARROW( src, dest, bufSize) |
| #define | ALIB_PATH_TO_NARROW_ARG( src, bufSize) |
| #define | ALIB_PATH_TO_STRING( src, dest, bufSize) |
| #define | ALIB_PATH_TO_STRING_ARG( src, bufSize) |
| #define | ALIB_STRING_TO_PATH( src, dest, bufSize) |
| #define | ALIB_STRING_TO_PATH_ARG( src, bufSize) |
| #define | ALIB_SYSTEM_FILE_POSIX_STATUS 2 |
| #define | ALIB_SYSTEM_FILE_STATUS_IMPL ALIB_SYSTEM_FILE_POSIX_STATUS |
| #define | ALIB_SYSTEM_FILE_STD_STATUS 1 |
| #define | ALIB_SYSTEM_FORCE_STD_FILE_STATUS 0 |
| #define A_PATH | ( | literal | ) |
Macro used to define Path-string literals in a platform-independent way. Similar to macro A_CHAR, but dependent on the character type defined by the C++ standard library with type std::filesystem::path::value_type.
This is usually single-byte characters, and only on Windows OS, prefix 'L' is added.
| literal | The string literal to be eventually prefix with 'L'. |
Definition at line 32 of file system.prepro.hpp.
| #define ALIB_PATH_CHARACTERS_WIDE 1 |
This configuration macro is set to 1 if the character type defined by the C++ standard library with type std::filesystem::path::value_type is wchar_t. Otherwise, it is set to 0.
The configuration macro is set in ALib.System.H but can only be "guessed". The guess is that only if the configuration macro _MSC_VER is set, wide characters are used. The header raises a static assertion error if the macro is wrongly guessed or externally set.
Should the guess be wrong, the right value has to be passed with compilation of the library.
Definition at line 23 of file system.prepro.hpp.
| #define ALIB_PATH_TO_NARROW | ( | src, | |
| dest, | |||
| bufSize ) |
Similar to ALIB_STRINGS_TO_NARROW. If PathCharType does not equal nchar, a local narrow string is created and the given path is converted. Otherwise, just a reference to the given path is created, which will ultimately be optimized out by the compiler.
| src | The name of the source instance. |
| dest | The name of the destination instance (or reference to the source). |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 48 of file system.prepro.hpp.
| #define ALIB_PATH_TO_NARROW_ARG | ( | src, | |
| bufSize ) |
Similar to ALIB_STRINGS_TO_NARROW and ALIB_STRINGS_TO_NARROW_ARG. Used to pass ALib path-strings as an argument when a narrow-string is expected.
| src | The name of the source instance. |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 49 of file system.prepro.hpp.
| #define ALIB_PATH_TO_STRING | ( | src, | |
| dest, | |||
| bufSize ) |
Similar to ALIB_STRINGS_TO_NARROW. If PathCharType does not equal character, a local string is created and the given path is converted. Otherwise, just a reference to the given path is created, which will ultimately be optimized out by the compiler.
| src | The name of the source instance. |
| dest | The name of the destination instance (or reference to the source). |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 36 of file system.prepro.hpp.
| #define ALIB_PATH_TO_STRING_ARG | ( | src, | |
| bufSize ) |
Similar to ALIB_PATH_TO_STRING and ALIB_STRINGS_TO_NARROW_ARG. Used to pass ALib path-strings as an argument when an ALib string is expected.
| src | The name of the source instance. |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 37 of file system.prepro.hpp.
| #define ALIB_STRING_TO_PATH | ( | src, | |
| dest, | |||
| bufSize ) |
Similar to ALIB_STRINGS_TO_NARROW. If PathCharType does not equal character, a local path-string is created and the given string is converted. Otherwise, just a reference to the given string is created, which will ultimately be optimized out by the compiler.
| src | The name of the source instance. |
| dest | The name of the destination instance (or reference to the source). |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 38 of file system.prepro.hpp.
| #define ALIB_STRING_TO_PATH_ARG | ( | src, | |
| bufSize ) |
Similar to ALIB_STRINGS_TO_NARROW and ALIB_STRINGS_TO_NARROW_ARG. Used to pass ALib strings as an argument when a path-string is expected.
| src | The name of the source instance. |
| bufSize | The (initial) size of the local string, which is used as the conversion buffer. |
Definition at line 39 of file system.prepro.hpp.
| #define ALIB_SYSTEM_FILE_POSIX_STATUS 2 |
A possible value of ALIB_SYSTEM_FILE_STATUS_IMPL, evaluating to 2, and denoting the implementation using the Posix library calls.
Must not be set from outside.
This group of code selection macros is defined with the use of module ALox and used to select the inclusion of log code. The macros are seldom to be used by end-user code. Instead, the macros used for the log statements themselves (see debug logging macros and release logging macros.) are variably defined based on these macros.
Definition at line 65 of file system.prepro.hpp.
| #define ALIB_SYSTEM_FILE_STATUS_IMPL ALIB_SYSTEM_FILE_POSIX_STATUS |
This configuration macro is evaluated internally with the inclusion of ALib.FileTree.H. It allows determining the implementation of the file scanner used. As of today, the following values are possible:
The configuration macro must not be set from outside. To manipulate the choice, use configuration macro ALIB_SYSTEM_FORCE_STD_FILE_STATUS instead.
Definition at line 72 of file system.prepro.hpp.
| #define ALIB_SYSTEM_FILE_STD_STATUS 1 |
A possible value of ALIB_SYSTEM_FILE_STATUS_IMPL, evaluating to 1, and denoting the implementation using C++ library std::filesystem.
Must not be set from outside.
Definition at line 64 of file system.prepro.hpp.
| #define ALIB_SYSTEM_FORCE_STD_FILE_STATUS 0 |
If given, platform-specific code for scanning file trees and probing a file's satus is ignored and instead the overloaded function ScanFiles, respectively methods Update are using an implementation based on C++ library std::filesystem. This flag is used during development of ALib to test the standard implementation and should not be set otherwise, because platform-specific implementations are more feature reach and better performing.
Definition at line 57 of file system.prepro.hpp.