A RetroSearch Logo

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

Search Query:

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

[networking.ts] (async_)read and (async_)write don't support DynamicBuffer lvalues

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

3073. [networking.ts] (async_)read and (async_)write don't support DynamicBuffer lvalues

Section: 17 [networking.ts::buffer.stream] Status: New Submitter: Christopher Kohlhoff Opened: 2018-02-27 Last modified: 2020-09-06

Priority: 3

View all issues with New status.

Discussion:

Addresses: networking.ts

Suppose that we have a user-defined class dyn_buf that satisfies the DynamicBuffer requirements ([buffer.reqmts.dynamicbuffer]), and is additionally copy-constructible. The following snippet compiles, as expected:

dyn_buf b;
net::read_until(my_socket, b, "\n");

However, this next snippet will not compile, when it should:

dyn_buf b;
net::read(my_socket, b);

This is due to:

This can fixed by changing the test to is_dynamic_buffer_v<decay_t<DynamicBuffer>>.

[2019-01-20 Reflector prioritization]

Set Priority to 3

Proposed resolution:

This wording is relative to N4711.

  1. Edit 17.5 [networking.ts::buffer.read] as indicated:

    -14- Remarks: This function shall not participate in overload resolution unless is_dynamic_buffer_v< decay_t<DynamicBuffer >> is true.

  2. Edit 17.6 [networking.ts::buffer.async.read] as indicated:

    -16- Remarks: This function shall not participate in overload resolution unless is_dynamic_buffer_v< decay_t<DynamicBuffer >> is true.

  3. Edit 17.7 [networking.ts::buffer.write] as indicated:

    -14- Remarks: This function shall not participate in overload resolution unless is_dynamic_buffer_v< decay_t<DynamicBuffer >> is true.

  4. Edit 17.8 [networking.ts::buffer.async.write] as indicated:

    -16- Remarks: This function shall not participate in overload resolution unless is_dynamic_buffer_v< decay_t<DynamicBuffer >> is true.


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