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

154 lines
7.0 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>I/O object service 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="IoControlCommand.html" title="I/O control command requirements">
<link rel="next" href="IteratorConnectHandler.html" title="Iterator connect handler 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="IoControlCommand.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="IteratorConnectHandler.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.IoObjectService"></a><a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O object service requirements</a>
</h3></div></div></div>
<p>
An I/O object service must meet the requirements for a <a class="link" href="Service.html" title="Service requirements">service</a>,
as well as the requirements listed below.
</p>
<p>
In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
an I/O object service class, <code class="computeroutput"><span class="identifier">a</span></code>
and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
<code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
<code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
</p>
<div class="table">
<a name="asio.reference.IoObjectService.t0"></a><p class="title"><b>Table 23. IoObjectService requirements</b></p>
<div class="table-contents"><table class="table" summary="IoObjectService 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">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>
</p>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">u</span><span class="special">;</span></code>
</p>
</td>
<td>
</td>
<td>
<p>
note: <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code> has a public
default constructor and destructor.
</p>
</td>
</tr>
<tr>
<td>
<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
</pre>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
</pre>
</td>
<td>
</td>
<td>
<p>
note: <code class="computeroutput"><span class="identifier">destroy</span><span class="special">()</span></code>
will only be called on a value that has previously been initialised
with <code class="computeroutput"><span class="identifier">construct</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">move_construct</span><span class="special">()</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
</pre>
</td>
<td>
</td>
<td>
<p>
note: only required for I/O objects that support movability.
</p>
</td>
</tr>
<tr>
<td>
<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
</pre>
</td>
<td>
</td>
<td>
<p>
note: only required for I/O objects that support movability.
</p>
</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="IoControlCommand.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="IteratorConnectHandler.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>