summaryrefslogtreecommitdiff
path: root/doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html
blob: 7fc951d914ee544eb688954690af71fef80acc5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Buffer-oriented synchronous random-access read device requirements</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="SignalHandler.html" title="Signal handler requirements">
<link rel="next" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.SyncRandomAccessReadDevice"></a><a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">Buffer-oriented
      synchronous random-access read device requirements</a>
</h3></div></div></div>
<p>
        In the table below, <code class="computeroutput">a</code> denotes a synchronous random-access read
        device object, <code class="computeroutput">o</code> denotes an offset of type <code class="computeroutput">boost::uint64_t</code>,
        <code class="computeroutput">mb</code> denotes an object satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
        buffer sequence</a> requirements, and <code class="computeroutput">ec</code> denotes an object
        of type <code class="computeroutput">error_code</code>.
      </p>
<div class="table">
<a name="boost_asio.reference.SyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table&#160;27.&#160;Buffer-oriented synchronous random-access read device requirements</b></p>
<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous random-access read device requirements">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  operation
                </p>
              </th>
<th>
                <p>
                  type
                </p>
              </th>
<th>
                <p>
                  semantics, pre/post-conditions
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput">a.read_some_at(o, mb);</code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput">size_t</code>
                </p>
              </td>
<td>
                <p>
                  Equivalent to:
</p>
<pre class="programlisting">error_code ec;
size_t s = a.read_some_at(o, mb, ec);
if (ec) throw system_error(ec);
return s;
</pre>
<p>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput">a.read_some_at(o, mb, ec);</code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput">size_t</code>
                </p>
              </td>
<td>
                <p>
                  Reads one or more bytes of data from the device <code class="computeroutput">a</code>
                  at offset <code class="computeroutput">o</code>.<br> <br> The mutable buffer sequence
                  <code class="computeroutput">mb</code> specifies memory where the data should be placed.
                  The <code class="computeroutput">read_some_at</code> operation shall always fill a buffer
                  in the sequence completely before proceeding to the next.<br>
                  <br> If successful, returns the number of bytes read and sets
                  <code class="computeroutput">ec</code> such that <code class="computeroutput">!ec</code> is true. If an error
                  occurred, returns <code class="computeroutput">0</code> and sets <code class="computeroutput">ec</code> such
                  that <code class="computeroutput">!!ec</code> is true.<br> <br> If the total size
                  of all buffers in the sequence <code class="computeroutput">mb</code> is <code class="computeroutput">0</code>,
                  the function shall return <code class="computeroutput">0</code> immediately.
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2019 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></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>