Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / doc_generated / pepper_stable / cpp / classpp_1_1_var_array_buffer.html
1 {{+bindTo:partials.standard_nacl_article}}
2 <h1>pp::VarArrayBuffer Class Reference</h1>
3 <div id="doxygen-ref">
4 {{- dummy div to appease doxygen -}}
5   <div>
6 <!-- Generated by Doxygen 1.7.6.1 -->
7
8
9
10 </div>
11 <!--header-->
12 <div class="contents">
13 <!-- doxytag: class="pp::VarArrayBuffer" --><!-- doxytag: inherits="pp::Var" --><div class="dynheader">
14 Inheritance diagram for pp::VarArrayBuffer:</div>
15 <div class="dyncontent">
16 <div class="center"><img src="classpp_1_1_var_array_buffer__inherit__graph.png" border="0" usemap="#pp_1_1_var_array_buffer_inherit__map" alt="Inheritance graph" /></div>
17 <map name="pp_1_1_var_array_buffer_inherit__map" id="pp_1_1_var_array_buffer_inherit__map">
18 <area shape="rect" id="node2" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page." alt="" coords="41,5,108,35"></area></map>
19 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
20 <p><a href="classpp_1_1_var_array_buffer-members.html">List of all members.</a></p>
21 <h2>
22 Public Member Functions</h2><table class="memberdecls">
23
24 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">VarArrayBuffer</a> ()</td></tr>
25 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aa933ee36d23a31ae35acacbb10069a6b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;var)</td></tr>
26 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a7fd29347661fc1539dd474cc3f0e2a72">VarArrayBuffer</a> (uint32_t size_in_bytes)</td></tr>
27 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9b76b96c7b11a10aa4424c02b4a5511b">VarArrayBuffer</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &amp;buffer)</td></tr>
28 <tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">~VarArrayBuffer</a> ()</td></tr>
29 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#afe636bd8a6011c04dce0eaa84af7c1ee">operator=</a> (const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &amp;other)</td></tr>
30 <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;other)</td></tr>
31 <tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">ByteLength</a> () const </td></tr>
32 <tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">Map</a> ()</td></tr>
33 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">Unmap</a> ()</td></tr>
34 </table>
35 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
36 <div class="textblock"><p><code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. </p>
37 <p>Note that these vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the <code>PostMessage</code> and <code>HandleMessage</code> functions of <code><a class="el" href="classpp_1_1_instance.html">Instance</a></code>. </p>
38 </div><hr /><h2>Constructor &amp; Destructor Documentation</h2>
39 <a class="anchor" id="a3ce55ddf56dd4fe7bb37cf6cbf10a85a"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a3ce55ddf56dd4fe7bb37cf6cbf10a85a" args="()" -->
40 <div class="memitem">
41 <div class="memproto">
42 <table class="memname">
43 <tr>
44 <td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
45 <td>(</td>
46 <td class="paramname"></td><td>)</td>
47 <td></td>
48 </tr>
49 </table>
50 </div>
51 <div class="memdoc">
52 <p>The default constructor constructs a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is 0 byte long. </p>
53 </div>
54 </div>
55 <a class="anchor" id="aa933ee36d23a31ae35acacbb10069a6b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="aa933ee36d23a31ae35acacbb10069a6b" args="(const Var &amp;var)" -->
56 <div class="memitem">
57 <div class="memproto">
58 <table class="memname">
59 <tr>
60 <td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
61 <td>(</td>
62 <td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td>
63 <td class="paramname"><em>var</em></td><td>)</td>
64 <td><code> [explicit]</code></td>
65 </tr>
66 </table>
67 </div>
68 <div class="memdoc">
69 <p>Construct a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> given a var for which <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65" title="This function determines if this Var is an ArrayBuffer.">is_array_buffer()</a> is true. </p>
70 <p>This will refer to the same <code>ArrayBuffer</code> as var, but allows you to access methods specific to <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
71 <dl class="params"><dt><b>Parameters:</b></dt><dd>
72 <table class="params">
73 <tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>An <code>ArrayBuffer</code> var. </td></tr>
74 </table>
75 </dd>
76 </dl>
77 </div>
78 </div>
79 <a class="anchor" id="a7fd29347661fc1539dd474cc3f0e2a72"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a7fd29347661fc1539dd474cc3f0e2a72" args="(uint32_t size_in_bytes)" -->
80 <div class="memitem">
81 <div class="memproto">
82 <table class="memname">
83 <tr>
84 <td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
85 <td>(</td>
86 <td class="paramtype">uint32_t&#160;</td>
87 <td class="paramname"><em>size_in_bytes</em></td><td>)</td>
88 <td><code> [explicit]</code></td>
89 </tr>
90 </table>
91 </div>
92 <div class="memdoc">
93 <p>Construct a new <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> which is <code>size_in_bytes</code> bytes long and initialized to zero. </p>
94 <dl class="params"><dt><b>Parameters:</b></dt><dd>
95 <table class="params">
96 <tr><td class="paramdir">[in]</td><td class="paramname">size_in_bytes</td><td>The size of the constructed <code>ArrayBuffer</code> in bytes. </td></tr>
97 </table>
98 </dd>
99 </dl>
100 </div>
101 </div>
102 <a class="anchor" id="a9b76b96c7b11a10aa4424c02b4a5511b"></a><!-- doxytag: member="pp::VarArrayBuffer::VarArrayBuffer" ref="a9b76b96c7b11a10aa4424c02b4a5511b" args="(const VarArrayBuffer &amp;buffer)" -->
103 <div class="memitem">
104 <div class="memproto">
105 <table class="memname">
106 <tr>
107 <td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html#a3ce55ddf56dd4fe7bb37cf6cbf10a85a">pp::VarArrayBuffer::VarArrayBuffer</a> </td>
108 <td>(</td>
109 <td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &amp;&#160;</td>
110 <td class="paramname"><em>buffer</em></td><td>)</td>
111 <td><code> [inline]</code></td>
112 </tr>
113 </table>
114 </div>
115 <div class="memdoc">
116 <p>Copy constructor. </p>
117 </div>
118 </div>
119 <a class="anchor" id="afc67644105914d333c2266c056c99190"></a><!-- doxytag: member="pp::VarArrayBuffer::~VarArrayBuffer" ref="afc67644105914d333c2266c056c99190" args="()" -->
120 <div class="memitem">
121 <div class="memproto">
122 <table class="memname">
123 <tr>
124 <td class="memname">virtual <a class="el" href="classpp_1_1_var_array_buffer.html#afc67644105914d333c2266c056c99190">pp::VarArrayBuffer::~VarArrayBuffer</a> </td>
125 <td>(</td>
126 <td class="paramname"></td><td>)</td>
127 <td><code> [inline, virtual]</code></td>
128 </tr>
129 </table>
130 </div>
131 <div class="memdoc">
132 </div>
133 </div>
134 <hr /><h2>Member Function Documentation</h2>
135 <a class="anchor" id="aee1fdb39f8a1ebcd8a78fb5e996e0af2"></a><!-- doxytag: member="pp::VarArrayBuffer::ByteLength" ref="aee1fdb39f8a1ebcd8a78fb5e996e0af2" args="() const " -->
136 <div class="memitem">
137 <div class="memproto">
138 <table class="memname">
139 <tr>
140 <td class="memname">uint32_t <a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2">pp::VarArrayBuffer::ByteLength</a> </td>
141 <td>(</td>
142 <td class="paramname"></td><td>)</td>
143 <td> const</td>
144 </tr>
145 </table>
146 </div>
147 <div class="memdoc">
148 <p><a class="el" href="classpp_1_1_var_array_buffer.html#aee1fdb39f8a1ebcd8a78fb5e996e0af2" title="ByteLength() retrieves the length of the VarArrayBuffer in bytes.">ByteLength()</a> retrieves the length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </p>
149 <dl class="return"><dt><b>Returns:</b></dt><dd>The length of the <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> in bytes. </dd></dl>
150 </div>
151 </div>
152 <a class="anchor" id="ab81d9579bcacf5eb927a9638092d2f3b"></a><!-- doxytag: member="pp::VarArrayBuffer::Map" ref="ab81d9579bcacf5eb927a9638092d2f3b" args="()" -->
153 <div class="memitem">
154 <div class="memproto">
155 <table class="memname">
156 <tr>
157 <td class="memname">void* <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b">pp::VarArrayBuffer::Map</a> </td>
158 <td>(</td>
159 <td class="paramname"></td><td>)</td>
160 <td></td>
161 </tr>
162 </table>
163 </div>
164 <div class="memdoc">
165 <p><a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> maps the <code>ArrayBuffer</code> in to the module's address space and returns a pointer to the beginning of the internal buffer for this <code>ArrayBuffer</code>. </p>
166 <p>ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.</p>
167 <p>Note that calling <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an <code>ArrayBuffer</code>.</p>
168 <p><b>Example:</b></p>
169 <div class="fragment"><pre class="fragment">   <span class="keywordtype">char</span>* data = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(array_buffer_var.Map());
170    uint32_t byte_length = array_buffer_var.ByteLength();
171    <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; byte_length; ++i)
172      data[i] = <span class="charliteral">&#39;A&#39;</span>;
173 </pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal buffer for this <code>ArrayBuffer</code>. </dd></dl>
174 </div>
175 </div>
176 <a class="anchor" id="afe636bd8a6011c04dce0eaa84af7c1ee"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="afe636bd8a6011c04dce0eaa84af7c1ee" args="(const VarArrayBuffer &amp;other)" -->
177 <div class="memitem">
178 <div class="memproto">
179 <table class="memname">
180 <tr>
181 <td class="memname"><a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a>&amp; pp::VarArrayBuffer::operator= </td>
182 <td>(</td>
183 <td class="paramtype">const <a class="el" href="classpp_1_1_var_array_buffer.html">VarArrayBuffer</a> &amp;&#160;</td>
184 <td class="paramname"><em>other</em></td><td>)</td>
185 <td></td>
186 </tr>
187 </table>
188 </div>
189 <div class="memdoc">
190 <p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
191 <dl class="params"><dt><b>Parameters:</b></dt><dd>
192 <table class="params">
193 <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
194 </table>
195 </dd>
196 </dl>
197 <dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </dd></dl>
198 </div>
199 </div>
200 <a class="anchor" id="a9cbb8584d8edc5d03875de67dec4086c"></a><!-- doxytag: member="pp::VarArrayBuffer::operator=" ref="a9cbb8584d8edc5d03875de67dec4086c" args="(const Var &amp;other)" -->
201 <div class="memitem">
202 <div class="memproto">
203 <table class="memname">
204 <tr>
205 <td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>&amp; pp::VarArrayBuffer::operator= </td>
206 <td>(</td>
207 <td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td>
208 <td class="paramname"><em>other</em></td><td>)</td>
209 <td><code> [virtual]</code></td>
210 </tr>
211 </table>
212 </div>
213 <div class="memdoc">
214 <p>This function assigns one <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to another <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>. </p>
215 <p>A <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>'s assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code>.</p>
216 <dl class="params"><dt><b>Parameters:</b></dt><dd>
217 <table class="params">
218 <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> to be assigned.</td></tr>
219 </table>
220 </dd>
221 </dl>
222 <dl class="return"><dt><b>Returns:</b></dt><dd>The resulting <code><a class="el" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ...">VarArrayBuffer</a></code> (as a <a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a>&amp;). </dd></dl>
223 <p>Reimplemented from <a class="el" href="classpp_1_1_var.html#a65601024610f1625c9945acb8725d7c4">pp::Var</a>.</p>
224 </div>
225 </div>
226 <a class="anchor" id="a271e6bb122f313a758b5fce1dc751687"></a><!-- doxytag: member="pp::VarArrayBuffer::Unmap" ref="a271e6bb122f313a758b5fce1dc751687" args="()" -->
227 <div class="memitem">
228 <div class="memproto">
229 <table class="memname">
230 <tr>
231 <td class="memname">void <a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687">pp::VarArrayBuffer::Unmap</a> </td>
232 <td>(</td>
233 <td class="paramname"></td><td>)</td>
234 <td></td>
235 </tr>
236 </table>
237 </div>
238 <div class="memdoc">
239 <p><a class="el" href="classpp_1_1_var_array_buffer.html#a271e6bb122f313a758b5fce1dc751687" title="Unmap() unmaps this ArrayBuffer var from the module address space.">Unmap()</a> unmaps this <code>ArrayBuffer</code> var from the module address space. </p>
240 <p>Use this if you want to save memory but might want to call <a class="el" href="classpp_1_1_var_array_buffer.html#ab81d9579bcacf5eb927a9638092d2f3b" title="Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of...">Map()</a> to map the buffer again later. </p>
241 </div>
242 </div>
243 <hr />The documentation for this class was generated from the following file:<ul>
244 <li><a class="el" href="var__array__buffer_8h.html">var_array_buffer.h</a></li>
245 </ul>
246 </div><!-- contents -->
247 </div>
248 {{/partials.standard_nacl_article}}