<html>
<head>
<title>Proposed wording for Networking TS NB comment GB 9</title>
<style>
ins {color:#00A000}
ins p code {color:#00A000}
p ins code {color:#00A000}
</style>
</head>
<body>

<pre>
Document number: P0729R0
Date:            2017-07-11
Project:         Programming Language C++, Library Working Group
Reply-to:        Christopher Kohlhoff &lt;chris&#x40;kohlhoff.com&gt;
</pre>

<h1>Proposed wording for Networking TS NB comment GB 9</h1>

<h2>Introduction</h2>

<p>This paper addresses National Body Comment against the Networking TS GB 9.</p>

<p>All changes are relative to N4656.</p>

<h2>LEWG discussion notes</h2>

<p><a href="https://issues.isocpp.org/show_bug.cgi?id=300">Bug 300 - [Networking] PDTS ballot comment 018 (GB9): user-provided overloads of buffer_size intended?</a></p>

<h2>Proposed wording</h2>

<p>Insert a new subclause under 16.2 [buffer.reqmts], after 16.2.2 [buffer.reqmts.constbuffersequence]:</p>

<ins>
<h3>-16.2.?- Buffer size [buffer.reqmts.size]</h3>
<p>-1- Several places in this Technical Specification make unqualified calls to <code>buffer_size</code>. The context in which these calls are evaluated shall ensure that a unary non-member function named <code>buffer_size</code> is selected via overload resolution (C++Std [over.match]) on a candidate set that includes:</p>
<ul>
<li>the <code>buffer_size</code> function template defined in <code>&lt;experimental/buffer&gt;</code> (16.1 [buffer.synop]) and</li>
<li>the lookup set produced by argument-dependent lookup (C++Std [basic.lookup.argdep]).</li>
</ul>
</ins>

</body>
</html>
