A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue2678 below:

Issue 2678: std::filesystem enum classes overspecified

This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++17 status.

2678. std::filesystem enum classes overspecified

Section: 31.12.8.2 [fs.enum.file.type], 31.12.8.3 [fs.enum.copy.opts], 31.12.8.6 [fs.enum.dir.opts] Status: C++17 Submitter: Richard Smith Opened: 2016-03-19 Last modified: 2021-06-06

Priority: 3

View all other issues in [fs.enum.file.type].

View all issues with C++17 status.

Discussion:

The enum class std::filesystem::file_type specifies a collection of enumerators for describing the type of a file, but also specifies (1) the numeric values of the enumerators, and (2) that an implementation cannot extend the list with additional types known to it (and by extension, the standard cannot extend the list in future versions without breakage).

These both seem like mistakes in the design. I would suggest we remove the specification of numerical values, and maybe also

Similar overspecification exists for std::filesystem::copy_options and std::filesystem::directory_options, where again precise numerical values are specified.

[2016-08 Chicago]

Wed AM: Move to Tentatively Ready

Proposed resolution:

  1. Strike the "Value" column from:

  2. Change [fs.enum.file_type] Table 145 Enum class file_type as indicated:

    Constant Meaning none The type of the file has not been determined or an error occurred while trying to determine the type. not_found Pseudo-type indicating the file was not found. [ Note: The file not being found is not considered an error while determining the type of a file. —end note ] regular Regular file directory Directory file symlink Symbolic link file block Block special file character Character special file fifo FIFO or pipe file socket Socket file implementation-
    defined Implementations that support file systems having file types in addition to the above file_type types shall supply implementation-defined file_type constants to separately identify each of those additional file types unknown The file does exist, but is of an operating system dependent type not covered by any of the other cases or the process does not have permission to query the file type The file exists but the type could not be determined

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4