Insane_DNS/libraries/asio-1.28.1/doc/asio/reference/ConstBufferSequence.html

124 lines
7.4 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Constant buffer sequence requirements</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="ConnectToken.html" title="Connect token requirements">
<link rel="next" href="DynamicBuffer.html" title="Dynamic buffer requirements">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ConnectToken.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="DynamicBuffer.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.ConstBufferSequence"></a><a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">Constant buffer sequence
requirements</a>
</h3></div></div></div>
<p>
A <span class="emphasis"><em>constant buffer sequence</em></span> represents a set of memory
regions that may be used as input to an operation, such as the <code class="computeroutput"><span class="identifier">send</span></code> operation of a socket.
</p>
<p>
A type <code class="computeroutput"><span class="identifier">X</span></code> meets the <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code> requirements if it
satisfies the requirements of <code class="computeroutput"><span class="identifier">Destructible</span></code>
(C++Std [destructible]) and <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
(C++Std [copyconstructible]), as well as the additional requirements listed
below.
</p>
<p>
In the table below, <code class="computeroutput"><span class="identifier">x</span></code> denotes
a (possibly const) value of type <code class="computeroutput"><span class="identifier">X</span></code>,
and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
</p>
<div class="table">
<a name="asio.reference.ConstBufferSequence.t0"></a><p class="title"><b>Table 11. ConstBufferSequence requirements</b></p>
<div class="table-contents"><table class="table" summary="ConstBufferSequence requirements">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
expression
</p>
</th>
<th>
<p>
return type
</p>
</th>
<th>
<p>
assertion/note<br> pre/post-condition
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_begin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code><br>
<code class="computeroutput"><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_end</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
An iterator type meeting the requirements for bidirectional iterators
(C++Std [bidirectional.iterators]) whose value type is convertible
to <code class="computeroutput"><span class="identifier">const_buffer</span></code>.
</p>
</td>
<td>
</td>
</tr>
<tr>
<td>
<pre class="programlisting"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
</pre>
</td>
<td>
</td>
<td>
<p>
post:<br>
</p>
<pre class="programlisting"><span class="identifier">equal</span><span class="special">(</span>
<span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_begin</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span>
<span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_end</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span>
<span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_begin</span><span class="special">(</span><span class="identifier">u</span><span class="special">),</span>
<span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_sequence_end</span><span class="special">(</span><span class="identifier">u</span><span class="special">),</span>
<span class="special">[](</span><span class="keyword">const</span> <span class="identifier">const_buffer</span><span class="special">&amp;</span> <span class="identifier">b1</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">const_buffer</span><span class="special">&amp;</span> <span class="identifier">b2</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">b1</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">b2</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span>
<span class="special">&amp;&amp;</span> <span class="identifier">b1</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">b2</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span>
<span class="special">})</span>
</pre>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<div class="copyright-footer">Copyright © 2003-2023 Christopher M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ConnectToken.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="DynamicBuffer.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>