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

### 3573. Missing Throws element for `basic_string_view(It begin, End end)`

Section: 23.3.3.2 [string.view.cons] Status: WP Submitter: Hewill Kang Opened: 2021-07-13 Last modified: 2021-10-14

Priority: Not Prioritized

View all other issues in [string.view.cons].

View all issues with WP status.

Discussion:

The standard does not specify the exceptions of this constructor, but since `std::to_address` is a `noexcept` function, this constructor throws if and only when `end - begin` throws, we should add a Throws element for it.

[2021-08-20; Reflector poll]

Set status to Tentatively Ready after eight votes in favour during reflector poll.

[2021-10-14 Approved at October 2021 virtual plenary. Status changed: Voting → WP.]

Proposed resolution:

This wording is relative to N4892.

1. Modify 23.3.3.2 [string.view.cons] as indicated:

   >     template<class It, class End>
   >       constexpr basic_string_view(It begin, End end);

   > > -7- Constraints:

   > > […]

   > > -8- Preconditions:

   > > […]

   > > -9- Effects: Initializes `data_` with `to_address(begin)` and initializes `size_` with `end - begin`.

   > > -?- Throws: When and what `end - begin` throws.