Title
[networking.ts] DynamicBuffer prepare exception specification
Status
new
Section
[buffer.reqmts.dynamicbuffer]
Submitter
Vinnie Falco

Created on 2017-10-16.00:00:00 last changed 85 months ago

Messages

Date: 2017-11-09.15:13:04

Proposed resolution:

This wording is relative to N4588.

  1. Change [buffer.reqmts.dynamicbuffer], Table 14 "DynamicBuffer requirements", as indicated:

    Table 14 — DynamicBuffer requirements
    expression return type assertion/note pre/post-condition
    […]
    x.prepare(n) X::mutable_buffers_type Returns a mutable buffer sequence u
    representing the writable bytes, and where
    buffer_size(u) == n . The dynamic buffer
    reallocates memory as required. All constant or
    mutable buffer sequences previously obtained using
    data() or prepare() are invalidated.
    Throws: length_error if size() + n
    exceeds max_size() or any other exception
    if the request cannot otherwise be satisfied
    .
Date: 2017-11-08.00:00:00

[ 2017-11-08 ]

Priority set to 3 after five votes on mailing list

Date: 2017-10-16.00:00:00

Addresses: networking.ts

The current wording for the DynamicBuffer prepare member function implies that std::length_error is the only allowable thrown exception. This should be changed to reflect that any exception may be thrown, with std::length_error thrown in particular when size() + n exceeds max_size().

History
Date User Action Args
2017-11-09 15:13:04adminsetmessages: + msg9524
2017-10-18 16:14:27adminsetmessages: + msg9481
2017-10-16 00:00:00admincreate