blob: 0c07eca4091cfba7adf1caccec61b79b33a75a46 [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::CacheableKey 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('a00339.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::CacheableKey Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Represents a cacheable key.
<a href="a00339.html#details">More...</a></p>
<p>Inherits <a class="el" href="a00855.html">apache::geode::client::Serializable</a>.</p>
<p>Inherited by <a class="el" href="a00327.html">apache::geode::client::CacheableDate</a>, <a class="el" href="a00331.html">apache::geode::client::CacheableEnum</a>, <a class="el" href="a00359.html">apache::geode::client::CacheableString</a>, and <a class="el" href="a00763.html">apache::geode::client::PdxSerializable</a><code> [virtual]</code>.</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:aff9da784fe4916ea44340e247e0a0bb3"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#aff9da784fe4916ea44340e247e0a0bb3">hashcode</a> () const =0</td></tr>
<tr class="memdesc:aff9da784fe4916ea44340e247e0a0bb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the hashcode for this key. <a href="#aff9da784fe4916ea44340e247e0a0bb3">More...</a><br /></td></tr>
<tr class="separator:aff9da784fe4916ea44340e247e0a0bb3"><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:a508b0eef9d80aeda9edf877880c0705f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#a508b0eef9d80aeda9edf877880c0705f">operator==</a> (const <a class="el" href="a00339.html">CacheableKey</a> &amp;other) const =0</td></tr>
<tr class="memdesc:a508b0eef9d80aeda9edf877880c0705f"><td class="mdescLeft">&#160;</td><td class="mdescRight">return true if this key matches other. <a href="#a508b0eef9d80aeda9edf877880c0705f">More...</a><br /></td></tr>
<tr class="separator:a508b0eef9d80aeda9edf877880c0705f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a8d506b1a6f8313302b5efd0990378"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00855.html#ac7a8d506b1a6f8313302b5efd0990378">toString</a> () const</td></tr>
<tr class="memdesc:ac7a8d506b1a6f8313302b5efd0990378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display this object as 'string', which depends on the implementation in the subclasses. <a href="#ac7a8d506b1a6f8313302b5efd0990378">More...</a><br /></td></tr>
<tr class="separator:ac7a8d506b1a6f8313302b5efd0990378"><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>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents a cacheable key. </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> </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="aff9da784fe4916ea44340e247e0a0bb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff9da784fe4916ea44340e247e0a0bb3">&#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::CacheableKey::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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>return the hashcode for this key. </p>
<p>Implemented in <a class="el" href="a00751.html#a5d7cd1603dcb22930cf0c3d32abe4c70">apache::geode::client::PdxInstance</a>, <a class="el" href="a00331.html#ad6a736e27c0d1baf0dae9d0851b2f77d">apache::geode::client::CacheableEnum</a>, <a class="el" href="a00327.html#abd5c98fe3eddaa9e7d77b23ef1462037">apache::geode::client::CacheableDate</a>, <a class="el" href="a00359.html#a7b299408c2cdee9f3944f671eb4a06c8">apache::geode::client::CacheableString</a>, <a class="el" href="a00335.html#a6ca45b3ae98f82e8ba9decdd9bca5659">apache::geode::client::CacheableFileName</a>, <a class="el" href="a00775.html#a1c2b24f33cd3b6b3a16ffab25aa9af28">apache::geode::client::PdxWrapper</a>, and <a class="el" href="a00763.html#a68fb65d907f98893391d0c46c7685f22">apache::geode::client::PdxSerializable</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="a508b0eef9d80aeda9edf877880c0705f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a508b0eef9d80aeda9edf877880c0705f">&#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::CacheableKey::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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>return true if this key matches other. </p>
<p>Implemented in <a class="el" href="a00751.html#a00654c7ddd97e35970bac9d8fa92c8b6">apache::geode::client::PdxInstance</a>, <a class="el" href="a00331.html#a54e2d72daaf3fa662be9642262565c1a">apache::geode::client::CacheableEnum</a>, <a class="el" href="a00327.html#a163129601ba9f5e6a6d8b5529b42dd66">apache::geode::client::CacheableDate</a>, <a class="el" href="a00359.html#ad017884259abbca42deb80ae3a4c640c">apache::geode::client::CacheableString</a>, <a class="el" href="a00775.html#aaef3ddf82d18e028bd16afacd1dcd886">apache::geode::client::PdxWrapper</a>, and <a class="el" href="a00763.html#ab8fb2a61f8b949dd511efb60a08d2950">apache::geode::client::PdxSerializable</a>.</p>
</div>
</div>
<a id="ac7a8d506b1a6f8313302b5efd0990378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a8d506b1a6f8313302b5efd0990378">&#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::Serializable::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">virtual</span><span class="mlabel">inherited</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 in <a class="el" href="a00751.html#a21a4f63885e135d281474d09f33023d8">apache::geode::client::PdxInstance</a>, <a class="el" href="a00359.html#a1c6d6fa313cc22a6b00e6e6d8b6399a1">apache::geode::client::CacheableString</a>, <a class="el" href="a00327.html#a07d857d6f3682e03ca05c92d42852a10">apache::geode::client::CacheableDate</a>, <a class="el" href="a00331.html#adeb7927b785a0b7c6e2e7206dcf63292">apache::geode::client::CacheableEnum</a>, <a class="el" href="a00775.html#a59316ed8601f54dfc1a0d71795d09ac4">apache::geode::client::PdxWrapper</a>, <a class="el" href="a00879.html#a928d2aa4a8a1f466f6f06ec7fa7d1f7d">apache::geode::client::UserFunctionExecutionException</a>, and <a class="el" href="a00763.html#a0bf1fbe334bc15e8869fbb33decfc8aa">apache::geode::client::PdxSerializable</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>