Section: 31.2.2 [stream.types] Status: New Submitter: Jiang An Opened: 2022-05-07 Last modified: 2022-05-17
Priority: 3
View all issues with New status.
Discussion:
Raised from editorial issue #5240.
The phrase "signed basic integral types" in 31.2.2 [stream.types] has been present since C++98 but never defined. It is unclear whether "basic integral types" are "standard integer types" or "integer types" (including extended integer types). Asstd::streamoff
should be wide enough to represent the largest possible file size, and
std::uintmax_t
is used as the return type of std::filesystem::file_size
, we should not
disallow std::streamoff
to be an extended integer type which may be wider than long long
.
On the other hand, as std::size_t
and std::ptrdiff_t
have already been allowed to be
extended integer types, std::streamsize
should also be allowed to be an extended integer type for consistency.
So I think we should just use "signed integer types" instead of "signed basic integral types" in
31.2.2 [stream.types].
[2022-05-17; Reflector poll]
Set priority to 3 after reflector poll.
Proposed resolution: