Movatterモバイル変換


[0]ホーム

URL:



This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++20 status.

2851.std::filesystem enum classes are now underspecified

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++20Submitter: Tim SongOpened: 2016-12-18Last modified: 2021-06-06

Priority:2

View all otherissues in [fs.enum.file.type].

View all issues withC++20 status.

Discussion:

LWG2678(i) stripped the numerical values of the enumerators from three enum classes in 31.12.8[fs.enum];in doing so it also removed the implicit specification 1) of the bitmask elements for the two bitmask types (copy_optionsanddirectory_options) and 2) that thefile_type constants are distinct.

[2017-01-27 Telecon]

Priority 2; Jonathan to work with Tim to tweak wording.

[2018-01-16, Jonathan comments]

I no longer remember what I didn't like about Tim's P/R so I think we should accept the original P/R.

[2018-1-26 issues processing telecon]

Status to 'Tentatively Ready'

[2018-3-17 Adopted in Jacksonville]

Proposed resolution:

This wording is relative toN4713.

  1. Edit [fs.enum.file_type]/1 as indicated:

    This enum class specifies constants used to identify file types, with the meanings listed in Table 123.The values of the constants are distinct.

  2. Edit 31.12.8.3[fs.enum.copy.opts]/1 as indicated:

    Theenum class typecopy_options is a bitmask type (16.3.3.3.3[bitmask.types]) thatspecifies bitmask constants used to control the semantics of copy operations. The constants are specifiedin option groups with the meanings listed in Table 124.The constantnone represents the empty bitmask, andConstantnone is shown in each option group for purposes ofexposition; implementations shall provide only a single definition.Every other constant in thetable represents a distinct bitmask element. Calling a library function with more than a singleconstant for an option group results in undefined behavior.

  3. Edit 31.12.8.6[fs.enum.dir.opts]/1 as indicated:

    Theenum class typedirectory_options is a bitmask type (16.3.3.3.3[bitmask.types])that specifies bitmask constants used to identify directory traversal options, with the meanings listedin Table 127.The constantnone represents the empty bitmask; every other constant in thetable represents a distinct bitmask element.


[8]ページ先頭

©2009-2026 Movatter.jp