blob: 811fb7705873601f9b7389d58e68def2524537b7 [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: Region.hpp Source File</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('a00203_source.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="headertitle">
<div class="title">Region.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the License. You may obtain a copy of the License at</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef GEODE_REGION_H_</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define GEODE_REGION_H_</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00014.html">AttributesMutator.hpp</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00053.html">CacheListener.hpp</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00056.html">CacheLoader.hpp</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00059.html">CacheStatistics.hpp</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;CacheWriter.hpp&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00026.html">CacheableBuiltins.hpp</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00038.html">CacheableKey.hpp</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00044.html">CacheableString.hpp</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;ExceptionTypes.hpp&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;PartitionResolver.hpp&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00197.html">Query.hpp</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00206.html">RegionAttributes.hpp</a>&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00209.html">RegionAttributesFactory.hpp</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00212.html">RegionEntry.hpp</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;Serializable.hpp&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;internal/geode_globals.hpp&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">namespace </span>apache {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">namespace </span>geode {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">namespace </span>client {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span>Pool;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">class </span>AttributesMutator;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">class </span>Cache;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">class </span>CacheStatistics;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">class </span>CacheableKey;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">class </span>RegionAttributes;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">class </span>RegionEntry;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">class </span>RegionService;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">class </span>SelectResults;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">class </span>Serializable;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keyword">static</span> constexpr std::chrono::milliseconds DEFAULT_RESPONSE_TIMEOUT =</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::chrono::seconds(15);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00815.html"> 95</a></span>&#160;<span class="keyword">class </span>APACHE_GEODE_EXPORT <a class="code" href="a00815.html">Region</a> : <span class="keyword">public</span> std::enable_shared_from_this&lt;Region&gt; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; getName() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// virtual uint64_t getUpdateReceived() const { return 0; };</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; getFullPath() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;Region&gt; getParentRegion() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="a00819.html">RegionAttributes</a>&amp; getAttributes() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;AttributesMutator&gt; getAttributesMutator() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">// virtual void updateAccessOrModifiedTime() = 0;</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;CacheStatistics&gt; getStatistics() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> invalidateRegion(</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localInvalidateRegion(</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRegion(</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear(</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localClear(</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localDestroyRegion(</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;Region&gt; getSubregion(<span class="keyword">const</span> std::string&amp; path) = 0;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;Region&gt; createSubregion(</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">const</span> std::string&amp; subregionName, <a class="code" href="a00819.html">RegionAttributes</a> aRegionAttributes) = 0;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;Region&gt;&gt; subregions(</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> recursive) = 0;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;RegionEntry&gt; getEntry(</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key) = 0;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="a00815.html#a8540a02a3d036f8212c1c9556bd9959e"> 273</a></span>&#160; <span class="keyword">inline</span> std::shared_ptr&lt;RegionEntry&gt; <a class="code" href="a00815.html#a8540a02a3d036f8212c1c9556bd9959e">getEntry</a>(<span class="keyword">const</span> KEYTYPE&amp; key) {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> getEntry(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key));</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; }</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;Cacheable&gt; get(</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="a00815.html#a5f75d99d826c24cfe3b516f965790a1a"> 324</a></span>&#160; <span class="keyword">inline</span> std::shared_ptr&lt;Cacheable&gt; <a class="code" href="a00815.html#a5f75d99d826c24cfe3b516f965790a1a">get</a>(</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; callbackArg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> get(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), callbackArg);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> put(</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="a00815.html#a7ced28273734ba50a42b301461fd3192"> 382</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a7ced28273734ba50a42b301461fd3192">put</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; put(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="a00815.html#aecb0037ec09ed1f38ff6d4094110442a"> 389</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#aecb0037ec09ed1f38ff6d4094110442a">put</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; put(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="a00815.html#a69113f479f312a834583d7bde304d532"> 396</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a69113f479f312a834583d7bde304d532">put</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; put(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> putAll(</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keyword">const</span> HashMapOfCacheable&amp; map,</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; std::chrono::milliseconds timeout = DEFAULT_RESPONSE_TIMEOUT,</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localPut(</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="a00815.html#a795a7a96f8d6bf78efe9cfe88dc359e0"> 456</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a795a7a96f8d6bf78efe9cfe88dc359e0">localPut</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; localPut(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="a00815.html#a7e88f748827b7492d9e63262b7213fec"> 463</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a7e88f748827b7492d9e63262b7213fec">localPut</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; localPut(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="a00815.html#a67c0922b4263f6a56f77bf0c400a530d"> 471</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a67c0922b4263f6a56f77bf0c400a530d">localPut</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; localPut(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> create(</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="a00815.html#a5f73f601b6b71f170eb0bdf14893af70"> 530</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a5f73f601b6b71f170eb0bdf14893af70">create</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; create(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="a00815.html#ad3ea14cc5de4f7b866a9d67ecd6fb958"> 537</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#ad3ea14cc5de4f7b866a9d67ecd6fb958">create</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; create(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="a00815.html#a6dc2f87e72489bd00bb3b84003aa6395"> 545</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a6dc2f87e72489bd00bb3b84003aa6395">create</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; create(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localCreate(</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="a00815.html#a12d5df0f3da39624e8b91374c4d0cc4d"> 583</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a12d5df0f3da39624e8b91374c4d0cc4d">localCreate</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; localCreate(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; }</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="a00815.html#a803c712c4b8fb815312ba65c35f8f638"> 590</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a803c712c4b8fb815312ba65c35f8f638">localCreate</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; localCreate(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="a00815.html#a618ea2e7439a0fc8a49085fc6246cfed"> 598</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a618ea2e7439a0fc8a49085fc6246cfed">localCreate</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; localCreate(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> invalidate(</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="a00815.html#a8b1016552d35db8e66fbc5ff9677fd81"> 632</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a8b1016552d35db8e66fbc5ff9677fd81">invalidate</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; invalidate(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; }</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localInvalidate(</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="a00815.html#a26dcb92f1d653430aaf87c577eaef4ea"> 663</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a26dcb92f1d653430aaf87c577eaef4ea">localInvalidate</a>(</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; localInvalidate(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; }</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroy(</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="a00815.html#a2b785d71a099118536f4ab685325d302"> 718</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a2b785d71a099118536f4ab685325d302">destroy</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; destroy(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> localDestroy(</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="a00815.html#a4da6a035aa53cd86a0a111160bdfcbbc"> 753</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00815.html#a4da6a035aa53cd86a0a111160bdfcbbc">localDestroy</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; localDestroy(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> remove(</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="a00815.html#ac57a717df98aab2ee922d9cb6d1f9ab3"> 813</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#ac57a717df98aab2ee922d9cb6d1f9ab3">remove</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> remove(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; }</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00820"></a><span class="lineno"><a class="line" href="a00815.html#ade0389e6ce08e4256e990357b3977dfa"> 820</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#ade0389e6ce08e4256e990357b3977dfa">remove</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">return</span> remove(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; }</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00828"></a><span class="lineno"><a class="line" href="a00815.html#a5c2743de0f0decb4b36bfddfa22aaf84"> 828</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a5c2743de0f0decb4b36bfddfa22aaf84">remove</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">return</span> remove(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordtype">bool</span> remove(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key) {</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">return</span> removeEx(key);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; }</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00840"></a><span class="lineno"><a class="line" href="a00815.html#a82e296f91e1f08868cb7b1c76180d37c"> 840</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a82e296f91e1f08868cb7b1c76180d37c">remove</a>(<span class="keyword">const</span> KEYTYPE&amp; key) {</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">return</span> remove(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key));</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> removeEx(</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="a00815.html#a7182d61675e7c19c980f955c301d89b5"> 896</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a7182d61675e7c19c980f955c301d89b5">removeEx</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordflow">return</span> removeEx(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> localRemove(</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE, <span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="a00815.html#a5db734c1ebff0e40b383583aa8b40d0d"> 935</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a5db734c1ebff0e40b383583aa8b40d0d">localRemove</a>(<span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">return</span> localRemove(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value),</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; arg);</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; }</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00943"></a><span class="lineno"><a class="line" href="a00815.html#ab4f4f753f6d82d5ff1d16335ca0f6ad6"> 943</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#ab4f4f753f6d82d5ff1d16335ca0f6ad6">localRemove</a>(<span class="keyword">const</span> KEYTYPE&amp; key,</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Cacheable&gt;&amp; value,</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">return</span> localRemove(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), value, arg);</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; }</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> VALUETYPE&gt;</div><div class="line"><a name="l00951"></a><span class="lineno"><a class="line" href="a00815.html#af70a334dc5a2eed774d3cfb18dca7588"> 951</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#af70a334dc5a2eed774d3cfb18dca7588">localRemove</a>(<span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keyword">const</span> VALUETYPE&amp; value,</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">return</span> localRemove(key, <a class="code" href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">Serializable::create</a>(value), arg);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> localRemoveEx(</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; key,</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l00989"></a><span class="lineno"><a class="line" href="a00815.html#a5ab0f1aaee2012f4078ddef9cbcd0f77"> 989</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a5ab0f1aaee2012f4078ddef9cbcd0f77">localRemoveEx</a>(</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <span class="keyword">const</span> KEYTYPE&amp; key, <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; arg = <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">return</span> localRemoveEx(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key), arg);</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; }</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt; keys() = 0;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt; serverKeys() = 0;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;Cacheable&gt;&gt; values() = 0;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;RegionEntry&gt;&gt; entries(<span class="keywordtype">bool</span> recursive) = 0;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keyword">virtual</span> <a class="code" href="a00839.html">RegionService</a>&amp; getRegionService() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isDestroyed() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> containsValueForKey(</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; keyPtr) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l01058"></a><span class="lineno"><a class="line" href="a00815.html#a60b2ea26884bf10cc79f57c461974b63"> 1058</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a60b2ea26884bf10cc79f57c461974b63">containsValueForKey</a>(<span class="keyword">const</span> KEYTYPE&amp; key)<span class="keyword"> const </span>{</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">return</span> containsValueForKey(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key));</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> containsKey(</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; keyPtr) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> containsKeyOnServer(</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;CacheableKey&gt;&amp; keyPtr) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt; getInterestList()</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; <span class="keyword">virtual</span> std::vector&lt;std::shared_ptr&lt;CacheableString&gt;&gt; getInterestListRegex()</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYTYPE&gt;</div><div class="line"><a name="l01100"></a><span class="lineno"><a class="line" href="a00815.html#a5f28c47f8590e9e776ceaed38783008d"> 1100</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00815.html#a5f28c47f8590e9e776ceaed38783008d">containsKey</a>(<span class="keyword">const</span> KEYTYPE&amp; key)<span class="keyword"> const </span>{</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <span class="keywordflow">return</span> containsKey(<a class="code" href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">CacheableKey::create</a>(key));</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; }</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> registerKeys(</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; <span class="keyword">const</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt;&amp; keys,</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="keywordtype">bool</span> isDurable = <span class="keyword">false</span>, <span class="keywordtype">bool</span> getInitialValues = <span class="keyword">false</span>,</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; <span class="keywordtype">bool</span> receiveValues = <span class="keyword">true</span>) = 0;</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> unregisterKeys(</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="keyword">const</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt;&amp; keys) = 0;</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> registerAllKeys(<span class="keywordtype">bool</span> isDurable = <span class="keyword">false</span>,</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; <span class="keywordtype">bool</span> getInitialValues = <span class="keyword">false</span>,</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <span class="keywordtype">bool</span> receiveValues = <span class="keyword">true</span>) = 0;</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> unregisterAllKeys() = 0;</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> registerRegex(<span class="keyword">const</span> std::string&amp; regex, <span class="keywordtype">bool</span> isDurable = <span class="keyword">false</span>,</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keywordtype">bool</span> getInitialValues = <span class="keyword">false</span>,</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <span class="keywordtype">bool</span> receiveValues = <span class="keyword">true</span>) = 0;</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> unregisterRegex(<span class="keyword">const</span> std::string&amp; regex) = 0;</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keyword">virtual</span> HashMapOfCacheable getAll(</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <span class="keyword">const</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt;&amp; keys,</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;SelectResults&gt; query(</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; <span class="keyword">const</span> std::string&amp; predicate,</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> existsValue(</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keyword">const</span> std::string&amp; predicate,</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <span class="keyword">virtual</span> std::shared_ptr&lt;Serializable&gt; selectValue(</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keyword">const</span> std::string&amp; predicate,</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAll(</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <span class="keyword">const</span> std::vector&lt;std::shared_ptr&lt;CacheableKey&gt;&gt;&amp; keys,</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;Serializable&gt;&amp; aCallbackArgument = <span class="keyword">nullptr</span>) = 0;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; <span class="keyword">virtual</span> uint32_t size() = 0;</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::shared_ptr&lt;Pool&gt;&amp; getPool() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; <a class="code" href="a00287.html">Cache</a>&amp; getCache();</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; <a class="code" href="a00815.html">Region</a>(<span class="keyword">const</span> <a class="code" href="a00815.html">Region</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <a class="code" href="a00815.html">Region</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="a00815.html">Region</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <span class="keyword">explicit</span> <a class="code" href="a00815.html">Region</a>(CacheImpl* cacheImpl);</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="a00815.html">Region</a>() noexcept;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; CacheImpl* m_cacheImpl;</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;};</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;} <span class="comment">// namespace client</span></div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;} <span class="comment">// namespace geode</span></div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;} <span class="comment">// namespace apache</span></div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;<span class="preprocessor">#endif // GEODE_REGION_H_</span></div><div class="ttc" id="a00815_html_a5db734c1ebff0e40b383583aa8b40d0d"><div class="ttname"><a href="a00815.html#a5db734c1ebff0e40b383583aa8b40d0d">apache::geode::client::Region::localRemove</a></div><div class="ttdeci">bool localRemove(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:935</div></div>
<div class="ttc" id="a00839_html"><div class="ttname"><a href="a00839.html">apache::geode::client::RegionService</a></div><div class="ttdoc">A RegionService provides access to existing regions that exist in a Geode cache.</div><div class="ttdef"><b>Definition:</b> RegionService.hpp:62</div></div>
<div class="ttc" id="a00056_html"><div class="ttname"><a href="a00056.html">CacheLoader.hpp</a></div></div>
<div class="ttc" id="a00815_html_aecb0037ec09ed1f38ff6d4094110442a"><div class="ttname"><a href="a00815.html#aecb0037ec09ed1f38ff6d4094110442a">apache::geode::client::Region::put</a></div><div class="ttdeci">void put(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:389</div></div>
<div class="ttc" id="a00815_html_a8b1016552d35db8e66fbc5ff9677fd81"><div class="ttname"><a href="a00815.html#a8b1016552d35db8e66fbc5ff9677fd81">apache::geode::client::Region::invalidate</a></div><div class="ttdeci">void invalidate(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:632</div></div>
<div class="ttc" id="a00044_html"><div class="ttname"><a href="a00044.html">CacheableString.hpp</a></div></div>
<div class="ttc" id="a00815_html_a803c712c4b8fb815312ba65c35f8f638"><div class="ttname"><a href="a00815.html#a803c712c4b8fb815312ba65c35f8f638">apache::geode::client::Region::localCreate</a></div><div class="ttdeci">void localCreate(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:590</div></div>
<div class="ttc" id="a00815_html"><div class="ttname"><a href="a00815.html">apache::geode::client::Region</a></div><div class="ttdoc">This class manages subregions and cached data.</div><div class="ttdef"><b>Definition:</b> Region.hpp:95</div></div>
<div class="ttc" id="a00815_html_a5f73f601b6b71f170eb0bdf14893af70"><div class="ttname"><a href="a00815.html#a5f73f601b6b71f170eb0bdf14893af70">apache::geode::client::Region::create</a></div><div class="ttdeci">void create(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:530</div></div>
<div class="ttc" id="a00059_html"><div class="ttname"><a href="a00059.html">CacheStatistics.hpp</a></div></div>
<div class="ttc" id="a00815_html_ade0389e6ce08e4256e990357b3977dfa"><div class="ttname"><a href="a00815.html#ade0389e6ce08e4256e990357b3977dfa">apache::geode::client::Region::remove</a></div><div class="ttdeci">bool remove(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:820</div></div>
<div class="ttc" id="a00815_html_ad3ea14cc5de4f7b866a9d67ecd6fb958"><div class="ttname"><a href="a00815.html#ad3ea14cc5de4f7b866a9d67ecd6fb958">apache::geode::client::Region::create</a></div><div class="ttdeci">void create(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:537</div></div>
<div class="ttc" id="a00815_html_a7ced28273734ba50a42b301461fd3192"><div class="ttname"><a href="a00815.html#a7ced28273734ba50a42b301461fd3192">apache::geode::client::Region::put</a></div><div class="ttdeci">void put(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:382</div></div>
<div class="ttc" id="a00815_html_a5c2743de0f0decb4b36bfddfa22aaf84"><div class="ttname"><a href="a00815.html#a5c2743de0f0decb4b36bfddfa22aaf84">apache::geode::client::Region::remove</a></div><div class="ttdeci">bool remove(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:828</div></div>
<div class="ttc" id="a00815_html_a26dcb92f1d653430aaf87c577eaef4ea"><div class="ttname"><a href="a00815.html#a26dcb92f1d653430aaf87c577eaef4ea">apache::geode::client::Region::localInvalidate</a></div><div class="ttdeci">void localInvalidate(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:663</div></div>
<div class="ttc" id="a00206_html"><div class="ttname"><a href="a00206.html">RegionAttributes.hpp</a></div></div>
<div class="ttc" id="a00287_html"><div class="ttname"><a href="a00287.html">apache::geode::client::Cache</a></div><div class="ttdoc">Caches are obtained from the create method on the CacheFactory#create class.</div><div class="ttdef"><b>Definition:</b> Cache.hpp:67</div></div>
<div class="ttc" id="a00038_html"><div class="ttname"><a href="a00038.html">CacheableKey.hpp</a></div></div>
<div class="ttc" id="a00209_html"><div class="ttname"><a href="a00209.html">RegionAttributesFactory.hpp</a></div></div>
<div class="ttc" id="a00026_html"><div class="ttname"><a href="a00026.html">CacheableBuiltins.hpp</a></div><div class="ttdoc">Contains generic template definitions for Cacheable types and instantiations for built-in types.</div></div>
<div class="ttc" id="a00014_html"><div class="ttname"><a href="a00014.html">AttributesMutator.hpp</a></div></div>
<div class="ttc" id="a00815_html_a5ab0f1aaee2012f4078ddef9cbcd0f77"><div class="ttname"><a href="a00815.html#a5ab0f1aaee2012f4078ddef9cbcd0f77">apache::geode::client::Region::localRemoveEx</a></div><div class="ttdeci">bool localRemoveEx(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:989</div></div>
<div class="ttc" id="a00815_html_a67c0922b4263f6a56f77bf0c400a530d"><div class="ttname"><a href="a00815.html#a67c0922b4263f6a56f77bf0c400a530d">apache::geode::client::Region::localPut</a></div><div class="ttdeci">void localPut(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:471</div></div>
<div class="ttc" id="a00212_html"><div class="ttname"><a href="a00212.html">RegionEntry.hpp</a></div></div>
<div class="ttc" id="a00815_html_a795a7a96f8d6bf78efe9cfe88dc359e0"><div class="ttname"><a href="a00815.html#a795a7a96f8d6bf78efe9cfe88dc359e0">apache::geode::client::Region::localPut</a></div><div class="ttdeci">void localPut(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:456</div></div>
<div class="ttc" id="a00815_html_a7182d61675e7c19c980f955c301d89b5"><div class="ttname"><a href="a00815.html#a7182d61675e7c19c980f955c301d89b5">apache::geode::client::Region::removeEx</a></div><div class="ttdeci">bool removeEx(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:896</div></div>
<div class="ttc" id="a00815_html_a618ea2e7439a0fc8a49085fc6246cfed"><div class="ttname"><a href="a00815.html#a618ea2e7439a0fc8a49085fc6246cfed">apache::geode::client::Region::localCreate</a></div><div class="ttdeci">void localCreate(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:598</div></div>
<div class="ttc" id="a00339_html_a562c8827c49b9808ca4a601a48b944b6"><div class="ttname"><a href="a00339.html#a562c8827c49b9808ca4a601a48b944b6">apache::geode::client::CacheableKey::create</a></div><div class="ttdeci">static std::shared_ptr&lt; CacheableKey &gt; create(_T value)</div><div class="ttdoc">Factory method that creates the key type that matches the type of value.</div></div>
<div class="ttc" id="a00815_html_a7e88f748827b7492d9e63262b7213fec"><div class="ttname"><a href="a00815.html#a7e88f748827b7492d9e63262b7213fec">apache::geode::client::Region::localPut</a></div><div class="ttdeci">void localPut(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:463</div></div>
<div class="ttc" id="a00815_html_af70a334dc5a2eed774d3cfb18dca7588"><div class="ttname"><a href="a00815.html#af70a334dc5a2eed774d3cfb18dca7588">apache::geode::client::Region::localRemove</a></div><div class="ttdeci">bool localRemove(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:951</div></div>
<div class="ttc" id="a00815_html_a2b785d71a099118536f4ab685325d302"><div class="ttname"><a href="a00815.html#a2b785d71a099118536f4ab685325d302">apache::geode::client::Region::destroy</a></div><div class="ttdeci">void destroy(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:718</div></div>
<div class="ttc" id="a00815_html_a82e296f91e1f08868cb7b1c76180d37c"><div class="ttname"><a href="a00815.html#a82e296f91e1f08868cb7b1c76180d37c">apache::geode::client::Region::remove</a></div><div class="ttdeci">bool remove(const KEYTYPE &amp;key)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:840</div></div>
<div class="ttc" id="a00815_html_a5f75d99d826c24cfe3b516f965790a1a"><div class="ttname"><a href="a00815.html#a5f75d99d826c24cfe3b516f965790a1a">apache::geode::client::Region::get</a></div><div class="ttdeci">std::shared_ptr&lt; Cacheable &gt; get(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;callbackArg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:324</div></div>
<div class="ttc" id="a00815_html_a8540a02a3d036f8212c1c9556bd9959e"><div class="ttname"><a href="a00815.html#a8540a02a3d036f8212c1c9556bd9959e">apache::geode::client::Region::getEntry</a></div><div class="ttdeci">std::shared_ptr&lt; RegionEntry &gt; getEntry(const KEYTYPE &amp;key)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:273</div></div>
<div class="ttc" id="a00815_html_a5f28c47f8590e9e776ceaed38783008d"><div class="ttname"><a href="a00815.html#a5f28c47f8590e9e776ceaed38783008d">apache::geode::client::Region::containsKey</a></div><div class="ttdeci">bool containsKey(const KEYTYPE &amp;key) const</div><div class="ttdoc">Convenience method allowing key to be a const char* This operations checks for the key in the local c...</div><div class="ttdef"><b>Definition:</b> Region.hpp:1100</div></div>
<div class="ttc" id="a00815_html_a12d5df0f3da39624e8b91374c4d0cc4d"><div class="ttname"><a href="a00815.html#a12d5df0f3da39624e8b91374c4d0cc4d">apache::geode::client::Region::localCreate</a></div><div class="ttdeci">void localCreate(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:583</div></div>
<div class="ttc" id="a00815_html_a69113f479f312a834583d7bde304d532"><div class="ttname"><a href="a00815.html#a69113f479f312a834583d7bde304d532">apache::geode::client::Region::put</a></div><div class="ttdeci">void put(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:396</div></div>
<div class="ttc" id="a00815_html_ac57a717df98aab2ee922d9cb6d1f9ab3"><div class="ttname"><a href="a00815.html#ac57a717df98aab2ee922d9cb6d1f9ab3">apache::geode::client::Region::remove</a></div><div class="ttdeci">bool remove(const KEYTYPE &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing both key and value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:813</div></div>
<div class="ttc" id="a00815_html_a4da6a035aa53cd86a0a111160bdfcbbc"><div class="ttname"><a href="a00815.html#a4da6a035aa53cd86a0a111160bdfcbbc">apache::geode::client::Region::localDestroy</a></div><div class="ttdeci">void localDestroy(const KEYTYPE &amp;key, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:753</div></div>
<div class="ttc" id="a00815_html_a6dc2f87e72489bd00bb3b84003aa6395"><div class="ttname"><a href="a00815.html#a6dc2f87e72489bd00bb3b84003aa6395">apache::geode::client::Region::create</a></div><div class="ttdeci">void create(const std::shared_ptr&lt; CacheableKey &gt; &amp;key, const VALUETYPE &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing value to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:545</div></div>
<div class="ttc" id="a00815_html_a60b2ea26884bf10cc79f57c461974b63"><div class="ttname"><a href="a00815.html#a60b2ea26884bf10cc79f57c461974b63">apache::geode::client::Region::containsValueForKey</a></div><div class="ttdeci">bool containsValueForKey(const KEYTYPE &amp;key) const</div><div class="ttdoc">Convenience method allowing key to be a const char* This operations checks for the value in the local...</div><div class="ttdef"><b>Definition:</b> Region.hpp:1058</div></div>
<div class="ttc" id="a00053_html"><div class="ttname"><a href="a00053.html">CacheListener.hpp</a></div></div>
<div class="ttc" id="a00815_html_ab4f4f753f6d82d5ff1d16335ca0f6ad6"><div class="ttname"><a href="a00815.html#ab4f4f753f6d82d5ff1d16335ca0f6ad6">apache::geode::client::Region::localRemove</a></div><div class="ttdeci">bool localRemove(const KEYTYPE &amp;key, const std::shared_ptr&lt; Cacheable &gt; &amp;value, const std::shared_ptr&lt; Serializable &gt; &amp;arg=nullptr)</div><div class="ttdoc">Convenience method allowing key to be a const char*.</div><div class="ttdef"><b>Definition:</b> Region.hpp:943</div></div>
<div class="ttc" id="a00197_html"><div class="ttname"><a href="a00197.html">Query.hpp</a></div></div>
<div class="ttc" id="a00855_html_ac6b42b5b55a798df561f9031e2b4f602"><div class="ttname"><a href="a00855.html#ac6b42b5b55a798df561f9031e2b4f602">apache::geode::client::Serializable::create</a></div><div class="ttdeci">static std::shared_ptr&lt; Serializable &gt; create(_T value)</div><div class="ttdoc">Factory method that creates the Serializable object that matches the type of value.</div></div>
<div class="ttc" id="a00819_html"><div class="ttname"><a href="a00819.html">apache::geode::client::RegionAttributes</a></div><div class="ttdoc">Defines attributes for configuring a region.</div><div class="ttdef"><b>Definition:</b> RegionAttributes.hpp:76</div></div>
</div><!-- fragment --></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>