blob: 6d653cf9badb02e2b5b0e934b086743a16a29053 [file] [log] [blame]
{{+bindTo:partials.standard_nacl_api}}
<h1>pp::Var Class Reference</h1>
<div id="doxygen-ref">
{{- dummy div to appease doxygen -}}
<div>
<!-- Generated by Doxygen 1.7.6.1 -->
</div>
<!--header-->
<div class="contents">
<!-- doxytag: class="pp::Var" --><div class="dynheader">
Inheritance diagram for pp::Var:</div>
<div class="dyncontent">
<div class="center"><img src="classpp_1_1_var__inherit__graph.png" border="0" usemap="#pp_1_1_var_inherit__map" alt="Inheritance graph" /></div>
<map name="pp_1_1_var_inherit__map" id="pp_1_1_var_inherit__map">
<area shape="rect" id="node2" href="classpp_1_1_var_array.html" title="pp::VarArray" alt="" coords="5,80,107,107"></area><area shape="rect" id="node3" href="classpp_1_1_var_array_buffer.html" title="VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous ..." alt="" coords="131,80,269,107"></area><area shape="rect" id="node4" href="classpp_1_1_var_dictionary.html" title="pp::VarDictionary" alt="" coords="293,80,423,107"></area></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classpp_1_1_var-members.html">List of all members.</a></p>
<h2>
Classes</h2><table class="memberdecls">
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value passed to constructor to make <code>NULL</code>. <a href="structpp_1_1_var_1_1_null.html#details">More...</a><br /></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var_1_1_out_exception.html">OutException</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class is used when calling the raw C PPAPI when using the C++ <code><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></code> as a possible NULL exception. <a href="classpp_1_1_var_1_1_out_exception.html#details">More...</a><br /></td></tr>
</table><h2>
Public Member Functions</h2><table class="memberdecls">
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">Var</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8dc13cf4d873293e06e6d23325ab2544">Var</a> (<a class="el" href="structpp_1_1_var_1_1_null.html">Null</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6eba29ce9f635feb4ffbdfba1014ff99">Var</a> (bool b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a6de6c1f791f105b70d0cf815f63c2304">Var</a> (int32_t i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a9bbdfd7d1aa2bd6c8d526ff5f6a2c035">Var</a> (double d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a24ae309e6e0335d2b16aab6039c231fa">Var</a> (const char *utf8_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4b0c8c5ef714c9444cfd8f1dd4a9fb25">Var</a> (const std::string &amp;utf8_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7a9b5f09aa3c5f6f6ca961904c7d87ba">Var</a> (const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &amp;resource)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a64a857e38d59b1e012a02d7b8f98680f">Var</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, const PP_Var &amp;var)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a52415e7de337c97b08eb70b06e0cda4b">Var</a> (const PP_Var &amp;var)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a2356640f40527226f295cc15ec01f302">Var</a> (<a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a>, const PP_Var &amp;var)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa87cbd4cc4bc47b6f1f8a749f60aa062">Var</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">~Var</a> ()</td></tr>
<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.html#a65601024610f1625c9945acb8725d7c4">operator=</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad689c287e64f984eb951c57af303a444">operator==</a> (const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">is_undefined</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">is_null</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">is_bool</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">is_string</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">is_object</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">is_array</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">is_dictionary</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">is_resource</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">is_int</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">is_double</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">is_number</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">is_array_buffer</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">AsBool</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">AsInt</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">AsDouble</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">AsString</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_resource.html">pp::Resource</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a0346197dfa6ba350c6d9e3c85cc0ce80">AsResource</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const PP_Var &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp_var</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">PP_Var&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">Detach</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">DebugString</a> () const </td></tr>
</table><h2>
Protected Attributes</h2><table class="memberdecls">
<tr><td class="memItemLeft" align="right" valign="top">PP_Var&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">var_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">is_managed_</a></td></tr>
</table>
<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A generic type used for passing data types between the module and the page. </p>
</div><hr /><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af571fae55754a20ae95ffd140726d04c"></a><!-- doxytag: member="pp::Var::Var" ref="af571fae55754a20ae95ffd140726d04c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Default constructor. </p>
<p>Creates a <code><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></code> of type <code>Undefined</code>. </p>
</div>
</div>
<a class="anchor" id="a8dc13cf4d873293e06e6d23325ab2544"></a><!-- doxytag: member="pp::Var::Var" ref="a8dc13cf4d873293e06e6d23325ab2544" args="(Null)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_null.html">Null</a>&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a <code><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></code> of type <code><a class="el" href="structpp_1_1_var_1_1_null.html" title="Special value passed to constructor to make NULL.">Null</a></code>. </p>
</div>
</div>
<a class="anchor" id="a6eba29ce9f635feb4ffbdfba1014ff99"></a><!-- doxytag: member="pp::Var::Var" ref="a6eba29ce9f635feb4ffbdfba1014ff99" args="(bool b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a <code><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></code> of type <code>Bool</code>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>A boolean value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a6de6c1f791f105b70d0cf815f63c2304"></a><!-- doxytag: member="pp::Var::Var" ref="a6de6c1f791f105b70d0cf815f63c2304" args="(int32_t i)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a 32 bit integer <code><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></code>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>A 32 bit integer value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035"></a><!-- doxytag: member="pp::Var::Var" ref="a9bbdfd7d1aa2bd6c8d526ff5f6a2c035" args="(double d)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a double value <code><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></code>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>A double value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a24ae309e6e0335d2b16aab6039c231fa"></a><!-- doxytag: member="pp::Var::Var" ref="a24ae309e6e0335d2b16aab6039c231fa" args="(const char *utf8_str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>utf8_str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a UTF-8 character <code><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></code>. </p>
</div>
</div>
<a class="anchor" id="a4b0c8c5ef714c9444cfd8f1dd4a9fb25"></a><!-- doxytag: member="pp::Var::Var" ref="a4b0c8c5ef714c9444cfd8f1dd4a9fb25" args="(const std::string &amp;utf8_str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>utf8_str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a UTF-8 character <code><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></code>. </p>
</div>
</div>
<a class="anchor" id="a7a9b5f09aa3c5f6f6ca961904c7d87ba"></a><!-- doxytag: member="pp::Var::Var" ref="a7a9b5f09aa3c5f6f6ca961904c7d87ba" args="(const pp::Resource &amp;resource)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpp_1_1_resource.html">pp::Resource</a> &amp;&#160;</td>
<td class="paramname"><em>resource</em></td><td>)</td>
<td><code> [explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used to create a resource <code><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></code>. </p>
</div>
</div>
<a class="anchor" id="a64a857e38d59b1e012a02d7b8f98680f"></a><!-- doxytag: member="pp::Var::Var" ref="a64a857e38d59b1e012a02d7b8f98680f" args="(PassRef, const PP_Var &amp;var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const PP_Var &amp;&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor used when you have received a <code><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></code> as a return value that has had its reference count incremented for you. </p>
<p>You will not normally need to use this constructor because the reference count will not normally be incremented for you. </p>
</div>
</div>
<a class="anchor" id="a52415e7de337c97b08eb70b06e0cda4b"></a><!-- doxytag: member="pp::Var::Var" ref="a52415e7de337c97b08eb70b06e0cda4b" args="(const PP_Var &amp;var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">const PP_Var &amp;&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td><code> [explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor that increments the reference count. </p>
</div>
</div>
<a class="anchor" id="a2356640f40527226f295cc15ec01f302"></a><!-- doxytag: member="pp::Var::Var" ref="a2356640f40527226f295cc15ec01f302" args="(DontManage, const PP_Var &amp;var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structpp_1_1_var_1_1_dont_manage.html">DontManage</a>&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const PP_Var &amp;&#160;</td>
<td class="paramname"><em>var</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This constructor is used when we've given a <code>PP_Var</code> as an input argument from somewhere and that reference is managing the reference count for us. </p>
<p>The object will not have its reference count increased or decreased by this class instance.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>A <code><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></code>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa87cbd4cc4bc47b6f1f8a749f60aa062"></a><!-- doxytag: member="pp::Var::Var" ref="aa87cbd4cc4bc47b6f1f8a749f60aa062" args="(const Var &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_var.html#af571fae55754a20ae95ffd140726d04c">pp::Var::Var</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A constructor for copying a <code><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></code>. </p>
</div>
</div>
<a class="anchor" id="a148a5009f2f445edfec0a5f83ed94cf4"></a><!-- doxytag: member="pp::Var::~Var" ref="a148a5009f2f445edfec0a5f83ed94cf4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classpp_1_1_var.html#a148a5009f2f445edfec0a5f83ed94cf4">pp::Var::~Var</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Destructor. </p>
</div>
</div>
<hr /><h2>Member Function Documentation</h2>
<a class="anchor" id="a07e7a4ea38b990e6c230109823347e70"></a><!-- doxytag: member="pp::Var::AsBool" ref="a07e7a4ea38b990e6c230109823347e70" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70">pp::Var::AsBool</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#a07e7a4ea38b990e6c230109823347e70" title="AsBool() converts this Var to a bool.">AsBool()</a> converts this <code><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></code> to a bool. </p>
<p>Assumes the internal representation <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e" title="This function determines if this Var is a bool value.">is_bool()</a>. If it's not, it will assert in debug mode, and return false.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A bool version of this <code><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></code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a8a798b08e197948c161737fc7b745af6"></a><!-- doxytag: member="pp::Var::AsDouble" ref="a8a798b08e197948c161737fc7b745af6" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6">pp::Var::AsDouble</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#a8a798b08e197948c161737fc7b745af6" title="AsDouble() converts this Var to a double.">AsDouble()</a> converts this <code><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></code> to a double. </p>
<p>This function is necessary because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An double version of this <code><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></code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ad31cdb379b6ceaae967125e358c81d16"></a><!-- doxytag: member="pp::Var::AsInt" ref="ad31cdb379b6ceaae967125e358c81d16" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16">pp::Var::AsInt</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a> converts this <code><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></code> to an int32_t. </p>
<p>This function is required because JavaScript doesn't have a concept of ints and doubles, only numbers. The distinction between the two is an optimization inside the compiler. Since converting from a double to an int may be lossy, if you care about the distinction, either always work in doubles, or check !is_double() before calling <a class="el" href="classpp_1_1_var.html#ad31cdb379b6ceaae967125e358c81d16" title="AsInt() converts this Var to an int32_t.">AsInt()</a>.</p>
<p>These functions will assert in debug mode and return 0 if the internal representation is not <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t version of this <code><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></code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a0346197dfa6ba350c6d9e3c85cc0ce80"></a><!-- doxytag: member="pp::Var::AsResource" ref="a0346197dfa6ba350c6d9e3c85cc0ce80" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpp_1_1_resource.html">pp::Resource</a> <a class="el" href="classpp_1_1_var.html#a0346197dfa6ba350c6d9e3c85cc0ce80">pp::Var::AsResource</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the resource contained in the var. </p>
<p>If this object is not a resource, it will assert in debug mode, and return a null resource.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <code><a class="el" href="classpp_1_1_resource.html" title="A reference counted module resource.">pp::Resource</a></code> that is contained in the var. </dd></dl>
</div>
</div>
<a class="anchor" id="a22a1e3b2a0783b949bedcdae49c07c97"></a><!-- doxytag: member="pp::Var::AsString" ref="a22a1e3b2a0783b949bedcdae49c07c97" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97">pp::Var::AsString</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#a22a1e3b2a0783b949bedcdae49c07c97" title="AsString() converts this Var to a string.">AsString()</a> converts this <code><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></code> to a string. </p>
<p>If this object is not a string, it will assert in debug mode, and return an empty string.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string version of this <code><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></code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a835b1e5a601d6e5ceb9a7d1b5fb7a66f"></a><!-- doxytag: member="pp::Var::DebugString" ref="a835b1e5a601d6e5ceb9a7d1b5fb7a66f" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string <a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f">pp::Var::DebugString</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#a835b1e5a601d6e5ceb9a7d1b5fb7a66f" title='DebugString() returns a short description "Var&lt;X&gt;" that can be used for logging, where "X" is the und...'>DebugString()</a> returns a short description "Var&lt;X&gt;" that can be used for logging, where "X" is the underlying scalar or "UNDEFINED" or "OBJ" as it does not call into the browser to get the object description. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string displaying the value of this <code><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></code>. This function is used for debugging. </dd></dl>
</div>
</div>
<a class="anchor" id="a84a725a42640a63747f7f6bc252b65d4"></a><!-- doxytag: member="pp::Var::Detach" ref="a84a725a42640a63747f7f6bc252b65d4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4">pp::Var::Detach</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a class="el" href="classpp_1_1_var.html#a84a725a42640a63747f7f6bc252b65d4" title="Detach() detaches from the internal PP_Var of this object, keeping the reference count the same...">Detach()</a> detaches from the internal <code>PP_Var</code> of this object, keeping the reference count the same. </p>
<p>This is used when returning a <code>PP_Var</code> from an API function where the caller expects the return value to have the reference count incremented for it.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A detached version of this object without affecting the reference count. </dd></dl>
</div>
</div>
<a class="anchor" id="a7a28894a77f9d69d1a4b0272bf80d657"></a><!-- doxytag: member="pp::Var::is_array" ref="a7a28894a77f9d69d1a4b0272bf80d657" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a7a28894a77f9d69d1a4b0272bf80d657">pp::Var::is_array</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is an array. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is an array, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="ac0fd1d153203f8fe6c23b88618a5ef65"></a><!-- doxytag: member="pp::Var::is_array_buffer" ref="ac0fd1d153203f8fe6c23b88618a5ef65" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ac0fd1d153203f8fe6c23b88618a5ef65">pp::Var::is_array_buffer</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is an ArrayBuffer. </p>
</div>
</div>
<a class="anchor" id="a83773e6f9e2ac3723e33b6a1586d5c1e"></a><!-- doxytag: member="pp::Var::is_bool" ref="a83773e6f9e2ac3723e33b6a1586d5c1e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a83773e6f9e2ac3723e33b6a1586d5c1e">pp::Var::is_bool</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a bool value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is a bool, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="ae061050e5deaac345eb089b9cd8796ea"></a><!-- doxytag: member="pp::Var::is_dictionary" ref="ae061050e5deaac345eb089b9cd8796ea" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae061050e5deaac345eb089b9cd8796ea">pp::Var::is_dictionary</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a dictionary. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is a dictionary, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="a4a9e093ddf1475542bf0b3231e03d631"></a><!-- doxytag: member="pp::Var::is_double" ref="a4a9e093ddf1475542bf0b3231e03d631" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a4a9e093ddf1475542bf0b3231e03d631">pp::Var::is_double</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a double value. </p>
<p>The <code>is_double</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is a double, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="ae7dd6f7e851c81ee259095f3e826f3fd"></a><!-- doxytag: member="pp::Var::is_int" ref="ae7dd6f7e851c81ee259095f3e826f3fd" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae7dd6f7e851c81ee259095f3e826f3fd">pp::Var::is_int</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is an integer value. </p>
<p>The <code>is_int</code> function returns the internal representation. The JavaScript runtime may convert between the two as needed, so the distinction may not be relevant in all cases (int is really an optimization inside the runtime). So most of the time, you will want to check <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83" title="This function determines if this Var is a number.">is_number()</a>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is an integer, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="aa4a9d8309d3390aa56a4f2966daf6533"></a><!-- doxytag: member="pp::Var::is_null" ref="aa4a9d8309d3390aa56a4f2966daf6533" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#aa4a9d8309d3390aa56a4f2966daf6533">pp::Var::is_null</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a null value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is null, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="ae803a32764804c873dd16c48bd4fdc83"></a><!-- doxytag: member="pp::Var::is_number" ref="ae803a32764804c873dd16c48bd4fdc83" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#ae803a32764804c873dd16c48bd4fdc83">pp::Var::is_number</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a number. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is an int32_t or double number, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="a79ed26c49d64b536619a1ee574848a36"></a><!-- doxytag: member="pp::Var::is_object" ref="a79ed26c49d64b536619a1ee574848a36" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a79ed26c49d64b536619a1ee574848a36">pp::Var::is_object</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is an object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is an object, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="a8ed51b6cd4e1b6fee46d8fdf27c98ef1"></a><!-- doxytag: member="pp::Var::is_resource" ref="a8ed51b6cd4e1b6fee46d8fdf27c98ef1" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a8ed51b6cd4e1b6fee46d8fdf27c98ef1">pp::Var::is_resource</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a resource. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is a resource, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="a57ce2eb7f023f383194155b25b53d297"></a><!-- doxytag: member="pp::Var::is_string" ref="a57ce2eb7f023f383194155b25b53d297" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a57ce2eb7f023f383194155b25b53d297">pp::Var::is_string</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is a string value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is a string, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="afe677b5834bfb5f1364d212a52f1879e"></a><!-- doxytag: member="pp::Var::is_undefined" ref="afe677b5834bfb5f1364d212a52f1879e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#afe677b5834bfb5f1364d212a52f1879e">pp::Var::is_undefined</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if this <code><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></code> is an undefined value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this <code><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></code> is undefined, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="a65601024610f1625c9945acb8725d7c4"></a><!-- doxytag: member="pp::Var::operator=" ref="a65601024610f1625c9945acb8725d7c4" args="(const Var &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classpp_1_1_var.html">Var</a>&amp; pp::Var::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function assigns one <code><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></code> to another <code><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></code>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><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></code> to be assigned.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A resulting <code><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></code>. </dd></dl>
<p>Reimplemented in <a class="el" href="classpp_1_1_var_array_buffer.html#a9cbb8584d8edc5d03875de67dec4086c">pp::VarArrayBuffer</a>, <a class="el" href="classpp_1_1_var_dictionary.html#a689815e0b4e50e2f1e9aaa8b1ef34e00">pp::VarDictionary</a>, and <a class="el" href="classpp_1_1_var_array.html#aeb98c95929dd46d1f64eba13db724154">pp::VarArray</a>.</p>
</div>
</div>
<a class="anchor" id="ad689c287e64f984eb951c57af303a444"></a><!-- doxytag: member="pp::Var::operator==" ref="ad689c287e64f984eb951c57af303a444" args="(const Var &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pp::Var::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpp_1_1_var.html">Var</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function compares object identity (rather than value identity) for objects, dictionaries, and arrays. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The <code><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></code> to be compared to this <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>.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <code>other</code> <code><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></code> is the same as this <code><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></code>, otherwise false. </dd></dl>
</div>
</div>
<a class="anchor" id="ad828439641c93930ff188b45b45b4261"></a><!-- doxytag: member="pp::Var::pp_var" ref="ad828439641c93930ff188b45b45b4261" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const PP_Var&amp; <a class="el" href="classpp_1_1_var.html#ad828439641c93930ff188b45b45b4261">pp::Var::pp_var</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function returns the internal <code>PP_Var</code> managed by this <code><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></code> object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to a <code>PP_Var</code>. </dd></dl>
</div>
</div>
<hr /><h2>Member Data Documentation</h2>
<a class="anchor" id="a94bec264c03634f7ba66fb46ed4fda0b"></a><!-- doxytag: member="pp::Var::is_managed_" ref="a94bec264c03634f7ba66fb46ed4fda0b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classpp_1_1_var.html#a94bec264c03634f7ba66fb46ed4fda0b">pp::Var::is_managed_</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7c1225564a0e3ab910823fc20d2611ab"></a><!-- doxytag: member="pp::Var::var_" ref="a7c1225564a0e3ab910823fc20d2611ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PP_Var <a class="el" href="classpp_1_1_var.html#a7c1225564a0e3ab910823fc20d2611ab">pp::Var::var_</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr />The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="var_8h.html">var.h</a></li>
</ul>
</div><!-- contents -->
</div>
{{/partials.standard_nacl_api}}