Date
2018-10-13.16:52:47
Message id
10163

Content

Proposed resolution:

This wording is relative to the N4734.

  1. Modify [buffer.reqmts.mutablebuffersequence], Table 12 "MutableBufferSequence requirements", as indicated:

    Table 12 — MutableBufferSequence requirements
    expression return type assertion/note
    pre/post-condition
    net::buffer_sequence_begin(x)
    net::buffer_sequence_end(x)
    An iterator type whose reference type
    is convertible to mutable_buffer and which
    satisfies all the requirements for bidirectional
    iterators (C++ 2014 [bidirectional.iterators]) except that:
    1. there is no requirement that operator-> is provided, and
    2. there is no requirement that reference
      be a reference type., and
    3. for iterators a and b
      there is no requirement that a == b if and
      only if *a and *b are bound to the
      same object, and
    4. a == b if and only if
      distance(buffer_sequence_begin(x), a) == distance(buffer_sequence_begin(x), b)
    […]
  2. Modify [buffer.reqmts.constbuffersequence], Table 13 "ConstBufferSequence requirements", as indicated:

    Table 13 — ConstBufferSequence requirements
    expression return type assertion/note
    pre/post-condition
    net::buffer_sequence_begin(x)
    net::buffer_sequence_end(x)
    An iterator type whose reference type is convertible to
    const_buffer and which satisfies all the requirements for
    bidirectional iterators (C++ 2014 [bidirectional.iterators]) except that:
    1. there is no requirement that operator-> is provided, and
    2. there is no requirement that reference be a reference
      type., and
    3. for iterators a and b there is no
      requirement that a == b if and only if *a and
      *b are bound to the same object, and
    4. a == b if and only if
      distance(buffer_sequence_begin(x), a) == distance(buffer_sequence_begin(x), b)
    […]