6 #ifndef _INC_cFilePath_H
7 #define _INC_cFilePath_H
74 #define FILESTR_DirSep "\\"
77 #define FILESTR_DirSep "/"
89 return ch == k_DirSep1 || ch == k_DirSep2;
94 return ch ==
'?' || ch ==
'*';
138 static bool GRAYCALL HasFilePathRelatives(
const FILECHAR_t* pszName,
bool bOrDevices =
true);
#define GRAYCORE_LINK
Definition: GrayCore.h:47
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define _MAX_PATH
Definition: SysTypes.h:423
#define UNITTEST2_PREDEF(x)
Definition: cUnitTestDecl.h:19
#define UNITTEST_FRIEND(n)
Define this in the class body to be unit tested. Allow the unit test to access private/protected stuf...
Definition: cUnitTestDecl.h:17
Definition: cFilePath.h:59
static constexpr bool IsCharDirSep(wchar_t ch) noexcept
Definition: cFilePath.h:85
static constexpr bool IsCharWildcard(wchar_t ch) noexcept
Definition: cFilePath.h:91
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
int COMPARE_t
result of compare. 0=same, 1=a>b, -1=a<b
Definition: cValT.h:17
const StrLen_t k_StrLen_UNK
use the default/current length of the string argument.
Definition: StrConst.h:34
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
cStringT< FILECHAR_t > cStringF
A file name. checks USE_UNICODE_FN. related to cFilePath.
Definition: cFilePath.h:17
WORD FILECHR_MASK_t
Mask of enum FILECHR_TYPE_.
Definition: cFilePath.h:56
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
char ATOMCHAR_t
the char form (UNICODE or not) for an atom. (for symbolic names)
Definition: StrConst.h:15
FILECHR_TYPE_
Definition: cFilePath.h:36
@ FILECHR_Name3
Char is part of name but is foreign char. UNICODE.
Definition: cFilePath.h:48
@ FILECHR_Name
Char is valid as part of a FILESYS_TYPE file name.
Definition: cFilePath.h:46
@ FILECHR_Name2
Char is part of name but not in base set. "spaces, <, >, |, \, and sometimes :, (,...
Definition: cFilePath.h:47
@ FILECHR_XPath
mask for path but NOT Volume/drive. good for FTP
Definition: cFilePath.h:51
@ FILECHR_Device
Volume: designators (drive letters) or device ? "a:" or "com1:".
Definition: cFilePath.h:43
@ FILECHR_Ext
File type extension. '.' for ".txt".
Definition: cFilePath.h:49
@ FILECHR_Invalid
not a valid char.
Definition: cFilePath.h:41
@ FILECHR_All
mask for any (including Volume/drive). but not wildcard.
Definition: cFilePath.h:52
@ FILECHR_Wildcard
"?*" = allow wildcards in the name.
Definition: cFilePath.h:54
@ FILECHR_Dirs
FILECHAR_IsDirSep, the directory path to the file. may have relatives "..".
Definition: cFilePath.h:44
FILESYS_TYPE
Definition: cFilePath.h:22
@ FILESYS_FAT32
Allow spaces and ~1 equivalent names. long names.
Definition: cFilePath.h:29
@ FILESYS_FAT
Old DOS 8.3 names. Most restrictive of chars allowed.
Definition: cFilePath.h:28
@ FILESYS_DEFAULT
Modern OS's. >= FILESYS_FAT32.
Definition: cFilePath.h:27
@ FILESYS_NFS
Linux names are case sensitive. typical for FTP or HTTP mounted files.
Definition: cFilePath.h:31
@ FILESYS_NTFS
Allow long names, spaces and ~1 equivalent names + extra Attributes.
Definition: cFilePath.h:30
@ FILESYS_QTY
Definition: cFilePath.h:32