<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Geode Native C++ Reference: apache::geode::client::PdxSerializable Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native C++ Reference
   &#160;<span id="projectnumber">1.13.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00763.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">apache::geode::client::PdxSerializable Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>An interface for objects whose contents can be serialized as PDX types.  
 <a href="a00763.html#details">More...</a></p>

<p>Inherits <a class="el" href="a00855.html">apache::geode::client::Serializable</a>, and <a class="el" href="a00339.html">apache::geode::client::CacheableKey</a>.</p>

<p>Inherited by <a class="el" href="a00751.html">apache::geode::client::PdxInstance</a>, and <a class="el" href="a00775.html">apache::geode::client::PdxWrapper</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa2429785803446f892d6669d7ebab795"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#aa2429785803446f892d6669d7ebab795">fromData</a> (<a class="el" href="a00759.html">PdxReader</a> &amp;input)=0</td></tr>
<tr class="memdesc:aa2429785803446f892d6669d7ebab795"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize this object.  <a href="#aa2429785803446f892d6669d7ebab795">More...</a><br /></td></tr>
<tr class="separator:aa2429785803446f892d6669d7ebab795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb3cecbfb02d3983c04551850ba7b84c"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#acb3cecbfb02d3983c04551850ba7b84c">getClassName</a> () const =0</td></tr>
<tr class="memdesc:acb3cecbfb02d3983c04551850ba7b84c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Type for the Object.  <a href="#acb3cecbfb02d3983c04551850ba7b84c">More...</a><br /></td></tr>
<tr class="separator:acb3cecbfb02d3983c04551850ba7b84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68fb65d907f98893391d0c46c7685f22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#a68fb65d907f98893391d0c46c7685f22">hashcode</a> () const override</td></tr>
<tr class="memdesc:a68fb65d907f98893391d0c46c7685f22"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the hashcode for this key.  <a href="#a68fb65d907f98893391d0c46c7685f22">More...</a><br /></td></tr>
<tr class="separator:a68fb65d907f98893391d0c46c7685f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1e74dde03eb0d3fb17752bfdcd347ef"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00855.html#aa1e74dde03eb0d3fb17752bfdcd347ef">objectSize</a> () const</td></tr>
<tr class="memdesc:aa1e74dde03eb0d3fb17752bfdcd347ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the size in bytes of the instance being serialized.  <a href="#aa1e74dde03eb0d3fb17752bfdcd347ef">More...</a><br /></td></tr>
<tr class="separator:aa1e74dde03eb0d3fb17752bfdcd347ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8fb2a61f8b949dd511efb60a08d2950"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#ab8fb2a61f8b949dd511efb60a08d2950">operator==</a> (const <a class="el" href="a00339.html">CacheableKey</a> &amp;other) const override</td></tr>
<tr class="memdesc:ab8fb2a61f8b949dd511efb60a08d2950"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if this key matches other.  <a href="#ab8fb2a61f8b949dd511efb60a08d2950">More...</a><br /></td></tr>
<tr class="separator:ab8fb2a61f8b949dd511efb60a08d2950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28894ac9e842832bcb336915ae3983e0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#a28894ac9e842832bcb336915ae3983e0">toData</a> (<a class="el" href="a00779.html">PdxWriter</a> &amp;output) const =0</td></tr>
<tr class="memdesc:a28894ac9e842832bcb336915ae3983e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize this object in Geode PDX format.  <a href="#a28894ac9e842832bcb336915ae3983e0">More...</a><br /></td></tr>
<tr class="separator:a28894ac9e842832bcb336915ae3983e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bf1fbe334bc15e8869fbb33decfc8aa"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00763.html#a0bf1fbe334bc15e8869fbb33decfc8aa">toString</a> () const override</td></tr>
<tr class="memdesc:a0bf1fbe334bc15e8869fbb33decfc8aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display this object as 'string', which depends on the implementation in the subclasses.  <a href="#a0bf1fbe334bc15e8869fbb33decfc8aa">More...</a><br /></td></tr>
<tr class="separator:a0bf1fbe334bc15e8869fbb33decfc8aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a562c8827c49b9808ca4a601a48b944b6"><td class="memTemplParams" colspan="2">template&lt;class _T &gt; </td></tr>
<tr class="memitem:a562c8827c49b9808ca4a601a48b944b6"><td class="memTemplItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00339.html">CacheableKey</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">create</a> (_T value)</td></tr>
<tr class="memdesc:a562c8827c49b9808ca4a601a48b944b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factory method that creates the key type that matches the type of value.  <a href="#a562c8827c49b9808ca4a601a48b944b6">More...</a><br /></td></tr>
<tr class="separator:a562c8827c49b9808ca4a601a48b944b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6b42b5b55a798df561f9031e2b4f602"><td class="memTemplParams" colspan="2">template&lt;class _T &gt; </td></tr>
<tr class="memitem:ac6b42b5b55a798df561f9031e2b4f602"><td class="memTemplItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00855.html">Serializable</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">create</a> (_T value)</td></tr>
<tr class="memdesc:ac6b42b5b55a798df561f9031e2b4f602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factory method that creates the <a class="el" href="a00855.html" title="This base class is the superclass of all user objects in the cache that can be serialized.">Serializable</a> object that matches the type of value.  <a href="#ac6b42b5b55a798df561f9031e2b4f602">More...</a><br /></td></tr>
<tr class="separator:ac6b42b5b55a798df561f9031e2b4f602"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An interface for objects whose contents can be serialized as PDX types. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a562c8827c49b9808ca4a601a48b944b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a562c8827c49b9808ca4a601a48b944b6">&#9670;&nbsp;</a></span>create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::shared_ptr&lt;<a class="el" href="a00339.html">CacheableKey</a>&gt; apache::geode::client::CacheableKey::create </td>
          <td>(</td>
          <td class="paramtype">_T&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Factory method that creates the key type that matches the type of value. </p>
<p>For user defined derivations of <a class="el" href="a00339.html" title="Represents a cacheable key.">CacheableKey</a>, the method <a class="el" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6" title="Factory method that creates the key type that matches the type of value.">apache::geode::client::CacheableKey::create</a> may be overloaded. </p>

</div>
</div>
<a id="ac6b42b5b55a798df561f9031e2b4f602"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6b42b5b55a798df561f9031e2b4f602">&#9670;&nbsp;</a></span>create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::shared_ptr&lt;<a class="el" href="a00855.html">Serializable</a>&gt; apache::geode::client::Serializable::create </td>
          <td>(</td>
          <td class="paramtype">_T&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Factory method that creates the <a class="el" href="a00855.html" title="This base class is the superclass of all user objects in the cache that can be serialized.">Serializable</a> object that matches the type of value. </p>
<p>For user defined derivations of <a class="el" href="a00855.html" title="This base class is the superclass of all user objects in the cache that can be serialized.">Serializable</a>, the method <a class="el" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602" title="Factory method that creates the Serializable object that matches the type of value.">apache::geode::client::Serializable::create</a> may be overloaded. </p>

</div>
</div>
<a id="aa2429785803446f892d6669d7ebab795"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2429785803446f892d6669d7ebab795">&#9670;&nbsp;</a></span>fromData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::PdxSerializable::fromData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00759.html">PdxReader</a> &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deserialize this object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname"><a class="el" href="a00759.html" title="A PdxReader will be passed to PdxSerializable.fromData or during deserialization of a PDX.">PdxReader</a></td><td>to deserialize the PDX object </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="a00751.html#aa3e789d8e4da85f4ec586bd16b737001">apache::geode::client::PdxInstance</a>, and <a class="el" href="a00775.html#a2114af134386f7928edd520c6c661bd8">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
<a id="acb3cecbfb02d3983c04551850ba7b84c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb3cecbfb02d3983c04551850ba7b84c">&#9670;&nbsp;</a></span>getClassName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::string&amp; apache::geode::client::PdxSerializable::getClassName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the Type for the Object. </p>
<p>Equivalent to the C# Type-&gt;GetType() API. </p>

<p>Implemented in <a class="el" href="a00751.html#a2912c23ab766cb21e711088dd3b0c1fb">apache::geode::client::PdxInstance</a>, and <a class="el" href="a00775.html#af0d9d060427b87890e07dbe8a1aec65d">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
<a id="a68fb65d907f98893391d0c46c7685f22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68fb65d907f98893391d0c46c7685f22">&#9670;&nbsp;</a></span>hashcode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t apache::geode::client::PdxSerializable::hashcode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return the hashcode for this key. </p>

<p>Implements <a class="el" href="a00339.html#aff9da784fe4916ea44340e247e0a0bb3">apache::geode::client::CacheableKey</a>.</p>

<p>Reimplemented in <a class="el" href="a00775.html#a1c2b24f33cd3b6b3a16ffab25aa9af28">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
<a id="aa1e74dde03eb0d3fb17752bfdcd347ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1e74dde03eb0d3fb17752bfdcd347ef">&#9670;&nbsp;</a></span>objectSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t apache::geode::client::Serializable::objectSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return the size in bytes of the instance being serialized. </p>
<p>This is used to determine whether the cache is using up more physical memory than it has been configured to use. The method can return zero if the user does not require the ability to control cache memory utilization. Note that you must implement this only if you use the HeapLRU feature. </p>

<p>Reimplemented in <a class="el" href="a00751.html#a147bbc2fa40218981d1e4c9a0eaed512">apache::geode::client::PdxInstance</a>, <a class="el" href="a00359.html#afaac3e6c0601e799b224243dd293a50d">apache::geode::client::CacheableString</a>, <a class="el" href="a00331.html#a7eaa7d097c0761ea913ead9f3817ba6d">apache::geode::client::CacheableEnum</a>, and <a class="el" href="a00327.html#ae5c6cd45fdfc3c547899456cb6f4c129">apache::geode::client::CacheableDate</a>.</p>

</div>
</div>
<a id="ab8fb2a61f8b949dd511efb60a08d2950"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8fb2a61f8b949dd511efb60a08d2950">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool apache::geode::client::PdxSerializable::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00339.html">CacheableKey</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return true if this key matches other. </p>

<p>Implements <a class="el" href="a00339.html#a508b0eef9d80aeda9edf877880c0705f">apache::geode::client::CacheableKey</a>.</p>

<p>Reimplemented in <a class="el" href="a00775.html#aaef3ddf82d18e028bd16afacd1dcd886">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
<a id="a28894ac9e842832bcb336915ae3983e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28894ac9e842832bcb336915ae3983e0">&#9670;&nbsp;</a></span>toData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::PdxSerializable::toData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00779.html">PdxWriter</a> &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Serialize this object in Geode PDX format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname"><a class="el" href="a00779.html" title="A PdxWriter will be passed to PdxSerializable.toData when it is serializing the domain class.">PdxWriter</a></td><td>to serialize the PDX object </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="a00751.html#aa245bb68e028ee085a78bf1759c009f6">apache::geode::client::PdxInstance</a>, and <a class="el" href="a00775.html#a5654644f2922525e3815569e3ca14ab0">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
<a id="a0bf1fbe334bc15e8869fbb33decfc8aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bf1fbe334bc15e8869fbb33decfc8aa">&#9670;&nbsp;</a></span>toString()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string apache::geode::client::PdxSerializable::toString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Display this object as 'string', which depends on the implementation in the subclasses. </p>
<p>The default implementation renders the classname. </p>

<p>Reimplemented from <a class="el" href="a00855.html#ac7a8d506b1a6f8313302b5efd0990378">apache::geode::client::Serializable</a>.</p>

<p>Reimplemented in <a class="el" href="a00775.html#a59316ed8601f54dfc1a0d71795d09ac4">apache::geode::client::PdxWrapper</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<HR><address style="align: right;"><small>Apache Geode C++ Cache API Documentation</small></address>
