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

125 lines
7.4 KiB
HTML
Raw Permalink 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>Mutable 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="MoveAcceptToken.html" title="Move accept token requirements">
<link rel="next" href="NullaryToken.html" title="Nullary token 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="MoveAcceptToken.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="NullaryToken.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.MutableBufferSequence"></a><a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">Mutable buffer
sequence requirements</a>
</h3></div></div></div>
<p>
A <span class="emphasis"><em>mutable buffer sequence</em></span> represents a set of memory
regions that may be used to receive the output of an operation, such as the
<code class="computeroutput"><span class="identifier">receive</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">MutableBufferSequence</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.MutableBufferSequence.t0"></a><p class="title"><b>Table 24. MutableBufferSequence requirements</b></p>
<div class="table-contents"><table class="table" summary="MutableBufferSequence 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">mutable_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">mutable_buffer</span><span class="special">&amp;</span> <span class="identifier">b1</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">mutable_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="MoveAcceptToken.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="NullaryToken.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>