3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>write_at (2 of 8 overloads)</title>
5 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
8 <link rel="up" href="../write_at.html" title="write_at">
9 <link rel="prev" href="overload1.html" title="write_at (1 of 8 overloads)">
10 <link rel="next" href="overload3.html" title="write_at (3 of 8 overloads)">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.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="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="boost_asio.reference.write_at.overload2"></a><a class="link" href="overload2.html" title="write_at (2 of 8 overloads)">write_at (2
29 </h4></div></div></div>
31 Write all of the supplied data at the specified offset before returning.
33 <pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
34 <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
35 <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">></span>
36 <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
37 <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&</span> <span class="identifier">d</span><span class="special">,</span>
38 <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
39 <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&</span> <span class="identifier">buffers</span><span class="special">,</span>
40 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&</span> <span class="identifier">ec</span><span class="special">);</span>
43 This function is used to write a certain number of bytes of data to a random
44 access device at a specified offset. The call will block until one of the
45 following conditions is true:
47 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
49 All of the data in the supplied buffers has been written. That is,
50 the bytes transferred is equal to the sum of the buffer sizes.
57 This operation is implemented in terms of zero or more calls to the device's
58 write_some_at function.
61 <a name="boost_asio.reference.write_at.overload2.h0"></a>
62 <span class="phrase"><a name="boost_asio.reference.write_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.parameters">Parameters</a>
64 <div class="variablelist">
65 <p class="title"><b></b></p>
66 <dl class="variablelist">
67 <dt><span class="term">d</span></dt>
69 The device to which the data is to be written. The type must support
70 the SyncRandomAccessWriteDevice concept.
72 <dt><span class="term">offset</span></dt>
74 The offset at which the data will be written.
76 <dt><span class="term">buffers</span></dt>
78 One or more buffers containing the data to be written. The sum of
79 the buffer sizes indicates the maximum number of bytes to write to
82 <dt><span class="term">ec</span></dt>
84 Set to indicate what error occurred, if any.
89 <a name="boost_asio.reference.write_at.overload2.h1"></a>
90 <span class="phrase"><a name="boost_asio.reference.write_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.return_value">Return Value</a>
93 The number of bytes transferred.
96 <a name="boost_asio.reference.write_at.overload2.h2"></a>
97 <span class="phrase"><a name="boost_asio.reference.write_at.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.example">Example</a>
100 To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
102 <pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
103 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
106 See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
107 documentation for information on writing multiple buffers in one go, and
108 how to use it with arrays, boost::array or std::vector.
111 <a name="boost_asio.reference.write_at.overload2.h3"></a>
112 <span class="phrase"><a name="boost_asio.reference.write_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.remarks">Remarks</a>
115 This overload is equivalent to calling:
117 <pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
118 <span class="identifier">d</span><span class="special">,</span> <span class="identifier">offset</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
119 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
122 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
123 <td align="left"></td>
124 <td align="right"><div class="copyright-footer">Copyright © 2003-2014 Christopher M. Kohlhoff<p>
125 Distributed under the Boost Software License, Version 1.0. (See accompanying
126 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>)
131 <div class="spirit-nav">
132 <a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.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="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>