blob: bfd69a04d40d308443485bb4c141047fee5a2d21 [file] [log] [blame]
<!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::CacheableString 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.0</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('a00359.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::CacheableString Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Implement a immutable C string wrapper that can serve as a distributable key object for caching as well as being a string value.
<a href="a00359.html#details">More...</a></p>
<p>Inherits DataSerializablePrimitive, and <a class="el" href="a00339.html">apache::geode::client::CacheableKey</a>.</p>
<p>Inherited by <a class="el" href="a00335.html">apache::geode::client::CacheableFileName</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:a7b299408c2cdee9f3944f671eb4a06c8"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a7b299408c2cdee9f3944f671eb4a06c8">hashcode</a> () const override</td></tr>
<tr class="memdesc:a7b299408c2cdee9f3944f671eb4a06c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the hashcode for this key. <a href="#a7b299408c2cdee9f3944f671eb4a06c8">More...</a><br /></td></tr>
<tr class="separator:a7b299408c2cdee9f3944f671eb4a06c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabe4083211f84d41463b46a1749efeb7"><td class="memItemLeft" align="right" valign="top">std::string::size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#aabe4083211f84d41463b46a1749efeb7">length</a> () const</td></tr>
<tr class="memdesc:aabe4083211f84d41463b46a1749efeb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the length of the contained string. <a href="#aabe4083211f84d41463b46a1749efeb7">More...</a><br /></td></tr>
<tr class="separator:aabe4083211f84d41463b46a1749efeb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaac3e6c0601e799b224243dd293a50d"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#afaac3e6c0601e799b224243dd293a50d">objectSize</a> () const override</td></tr>
<tr class="memdesc:afaac3e6c0601e799b224243dd293a50d"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the size in bytes of the instance being serialized. <a href="#afaac3e6c0601e799b224243dd293a50d">More...</a><br /></td></tr>
<tr class="separator:afaac3e6c0601e799b224243dd293a50d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad017884259abbca42deb80ae3a4c640c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#ad017884259abbca42deb80ae3a4c640c">operator==</a> (const <a class="el" href="a00339.html">CacheableKey</a> &amp;other) const override</td></tr>
<tr class="memdesc:ad017884259abbca42deb80ae3a4c640c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if this key matches other. <a href="#ad017884259abbca42deb80ae3a4c640c">More...</a><br /></td></tr>
<tr class="separator:ad017884259abbca42deb80ae3a4c640c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6d6fa313cc22a6b00e6e6d8b6399a1"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a1c6d6fa313cc22a6b00e6e6d8b6399a1">toString</a> () const override</td></tr>
<tr class="memdesc:a1c6d6fa313cc22a6b00e6e6d8b6399a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display this object as 'string', which depends on the implementation in the subclasses. <a href="#a1c6d6fa313cc22a6b00e6e6d8b6399a1">More...</a><br /></td></tr>
<tr class="separator:a1c6d6fa313cc22a6b00e6e6d8b6399a1"><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:a1d1a6a14713e5c5fea0da1daf9a47dff"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00855.html">Serializable</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a1d1a6a14713e5c5fea0da1daf9a47dff">createDeserializable</a> ()</td></tr>
<tr class="memdesc:a1d1a6a14713e5c5fea0da1daf9a47dff"><td class="mdescLeft">&#160;</td><td class="mdescRight">creation function for strings <a href="#a1d1a6a14713e5c5fea0da1daf9a47dff">More...</a><br /></td></tr>
<tr class="separator:a1d1a6a14713e5c5fea0da1daf9a47dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98dc00f3015cfbcb0a6d61a0df35dd64"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00855.html">Serializable</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a98dc00f3015cfbcb0a6d61a0df35dd64">createDeserializableHuge</a> ()</td></tr>
<tr class="memdesc:a98dc00f3015cfbcb0a6d61a0df35dd64"><td class="mdescLeft">&#160;</td><td class="mdescRight">creation function for strings &gt; 64K length <a href="#a98dc00f3015cfbcb0a6d61a0df35dd64">More...</a><br /></td></tr>
<tr class="separator:a98dc00f3015cfbcb0a6d61a0df35dd64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5016ec849776f032db131b238eea6b22"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00855.html">Serializable</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a5016ec849776f032db131b238eea6b22">createUTFDeserializable</a> ()</td></tr>
<tr class="memdesc:a5016ec849776f032db131b238eea6b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">creation function for wide strings <a href="#a5016ec849776f032db131b238eea6b22">More...</a><br /></td></tr>
<tr class="separator:a5016ec849776f032db131b238eea6b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68e525182f7cf5e52d19c48897105ce0"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="a00855.html">Serializable</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#a68e525182f7cf5e52d19c48897105ce0">createUTFDeserializableHuge</a> ()</td></tr>
<tr class="memdesc:a68e525182f7cf5e52d19c48897105ce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">creation function for wide strings &gt; 64K length in UTF8 encoding <a href="#a68e525182f7cf5e52d19c48897105ce0">More...</a><br /></td></tr>
<tr class="separator:a68e525182f7cf5e52d19c48897105ce0"><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>Implement a immutable C string wrapper that can serve as a distributable key object for caching as well as being a string value. </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()</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="a1d1a6a14713e5c5fea0da1daf9a47dff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d1a6a14713e5c5fea0da1daf9a47dff">&#9670;&nbsp;</a></span>createDeserializable()</h2>
<div class="memitem">
<div class="memproto">
<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::CacheableString::createDeserializable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>creation function for strings </p>
</div>
</div>
<a id="a98dc00f3015cfbcb0a6d61a0df35dd64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98dc00f3015cfbcb0a6d61a0df35dd64">&#9670;&nbsp;</a></span>createDeserializableHuge()</h2>
<div class="memitem">
<div class="memproto">
<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::CacheableString::createDeserializableHuge </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>creation function for strings &gt; 64K length </p>
</div>
</div>
<a id="a5016ec849776f032db131b238eea6b22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5016ec849776f032db131b238eea6b22">&#9670;&nbsp;</a></span>createUTFDeserializable()</h2>
<div class="memitem">
<div class="memproto">
<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::CacheableString::createUTFDeserializable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>creation function for wide strings </p>
</div>
</div>
<a id="a68e525182f7cf5e52d19c48897105ce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68e525182f7cf5e52d19c48897105ce0">&#9670;&nbsp;</a></span>createUTFDeserializableHuge()</h2>
<div class="memitem">
<div class="memproto">
<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::CacheableString::createUTFDeserializableHuge </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>creation function for wide strings &gt; 64K length in UTF8 encoding </p>
</div>
</div>
<a id="a7b299408c2cdee9f3944f671eb4a06c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b299408c2cdee9f3944f671eb4a06c8">&#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">virtual int32_t apache::geode::client::CacheableString::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="a00335.html#a6ca45b3ae98f82e8ba9decdd9bca5659">apache::geode::client::CacheableFileName</a>.</p>
</div>
</div>
<a id="aabe4083211f84d41463b46a1749efeb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabe4083211f84d41463b46a1749efeb7">&#9670;&nbsp;</a></span>length()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string::size_type apache::geode::client::CacheableString::length </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the length of the contained string. </p>
</div>
</div>
<a id="afaac3e6c0601e799b224243dd293a50d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaac3e6c0601e799b224243dd293a50d">&#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::CacheableString::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">override</span><span class="mlabel">virtual</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 from <a class="el" href="a00855.html#aa1e74dde03eb0d3fb17752bfdcd347ef">apache::geode::client::Serializable</a>.</p>
</div>
</div>
<a id="ad017884259abbca42deb80ae3a4c640c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad017884259abbca42deb80ae3a4c640c">&#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">virtual bool apache::geode::client::CacheableString::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>
</div>
</div>
<a id="a1c6d6fa313cc22a6b00e6e6d8b6399a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c6d6fa313cc22a6b00e6e6d8b6399a1">&#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">virtual std::string apache::geode::client::CacheableString::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>
</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>