[Issue 24837] Can't version() or static if() to include keys in an enum
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Oct 29 15:28:11 UTC 2024
https://issues.dlang.org/show_bug.cgi?id=24837
apham <apz28 at hotmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |apz28 at hotmail.com
--- Comment #5 from apham <apz28 at hotmail.com> ---
If D supports this extension (similar to class) as below
enum FILE_INFO_BY_HANDLE_CLASS_BASE
{
FileBasicInfo,
FileStandardInfo,
FileNameInfo,
FileRenameInfo,
FileDispositionInfo,
FileAllocationInfo,
FileEndOfFileInfo,
FileStreamInfo,
FileCompressionInfo,
FileAttributeTagInfo,
FileIdBothDirectoryInfo,
FileIdBothDirectoryRestartInfo,
FileIoPriorityHintInfo,
FileRemoteProtocolInfo,
FileFullDirectoryInfo,
FileFullDirectoryRestartInfo,
}
enum FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN8 :
enum(FILE_INFO_BY_HANDLE_CLASS_BASE)
{
FileStorageInfo,
FileAlignmentInfo,
FileIdInfo,
FileIdExtdDirectoryInfo,
FileIdExtdDirectoryRestartInfo,
}
enum FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN10_RS1 :
enum(FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN8)
{
FileDispositionInfoEx,
FileRenameInfoEx,
}
enum FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN10_19H1 :
enum(FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN10_RS1)
{
FileCaseSensitiveInfo,
FileNormalizedNameInfo,
}
static if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
{
enum FILE_INFO_BY_HANDLE_CLASS :
enum(FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN10_19H1)
{
MaximumFileInfoByHandleClass
}
}
else static if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
{
enum FILE_INFO_BY_HANDLE_CLASS :
enum(FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN10_RS1)
{
MaximumFileInfoByHandleClass
}
}
else static if (NTDDI_VERSION >= NTDDI_WIN8)
{
enum FILE_INFO_BY_HANDLE_CLASS : enum(FILE_INFO_BY_HANDLE_CLASS_NTDDI_WIN8)
{
MaximumFileInfoByHandleClass
}
}
else
{
enum FILE_INFO_BY_HANDLE_CLASS : enum(FILE_INFO_BY_HANDLE_CLASS_BASE)
{
MaximumFileInfoByHandleClass
}
}
--
More information about the Digitalmars-d-bugs
mailing list