blob: 1993b0843ea6955539ba36c1403f2befc75fdb0c [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: cache_client.h 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="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="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">&nbsp; Apache Ignite C++
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_6917c354dff0dc051d18bd3bcc3faea1.html">include</a></li><li class="navelem"><a class="el" href="dir_3785354546cb37560a212b468c73f89f.html">ignite</a></li><li class="navelem"><a class="el" href="dir_097f68cb7241bfc683e7bdc6c58a7783.html">thin</a></li><li class="navelem"><a class="el" href="dir_4c59fe678b7d839a2941d6346d743aa7.html">cache</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">cache_client.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="cache__client_8h.html">Go to the documentation of this file.</a><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="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef _IGNITE_THIN_CACHE_CACHE_CLIENT</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#define _IGNITE_THIN_CACHE_CACHE_CLIENT</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;ignite/common/concurrent.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="thin-client_2include_2ignite_2thin_2cache_2query_2query__fields__cursor_8h.html">ignite/thin/cache/query/query_fields_cursor.h</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="thin-client_2include_2ignite_2thin_2cache_2query_2query__sql__fields_8h.html">ignite/thin/cache/query/query_sql_fields.h</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &lt;ignite/impl/thin/writable.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;ignite/impl/thin/writable_key.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;ignite/impl/thin/readable.h&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;ignite/impl/thin/cache/cache_client_proxy.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceignite.html">ignite</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">namespace </span>thin</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">namespace </span>cache</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> K, <span class="keyword">typename</span> V&gt;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html"> 59</a></span>&#160; <span class="keyword">class </span><a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">CacheClient</a></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>impl::thin::cache::CacheClientProxy;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a27d8e2533526122c277b1ea33d73f064"> 65</a></span>&#160; <span class="keyword">typedef</span> K <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a27d8e2533526122c277b1ea33d73f064">KeyType</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0c4c44b1cc3a1498df116a1d9265b7e9"> 68</a></span>&#160; <span class="keyword">typedef</span> V <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0c4c44b1cc3a1498df116a1d9265b7e9">ValueType</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae942c7ae26b148076557a3cc9bf31ff8"> 75</a></span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae942c7ae26b148076557a3cc9bf31ff8">CacheClient</a>(common::concurrent::SharedPointer&lt;void&gt; impl) :</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; proxy(impl)</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// No-op.</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a09a6d86b6377a12c63f3509785482a08"> 84</a></span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a09a6d86b6377a12c63f3509785482a08">CacheClient</a>()</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// No-op.</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a103c8328d3f48722ab84285e5c24429a"> 92</a></span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a103c8328d3f48722ab84285e5c24429a">~CacheClient</a>()</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// No-op.</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a303bc7dcd7699cb5aacd6af3301e870b"> 103</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a303bc7dcd7699cb5aacd6af3301e870b">Put</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; value)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValue(value);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; proxy.Put(wrKey, wrValue);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> InIter&gt;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aeac4e48549a40391e2a6cc45c6722f78"> 119</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aeac4e48549a40391e2a6cc45c6722f78">PutAll</a>(InIter begin, InIter end)</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; impl::thin::WritableMapImpl&lt;K, V, InIter&gt; wrSeq(begin, end);</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; proxy.PutAll(wrSeq);</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;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Map&gt;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad72cb7fec2922cde1b9879eb38c0f21f"> 133</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad72cb7fec2922cde1b9879eb38c0f21f">PutAll</a>(<span class="keyword">const</span> Map&amp; vals)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aeac4e48549a40391e2a6cc45c6722f78">PutAll</a>(vals.begin(), vals.end());</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a14d8d76f3fd30cf1963344b7a0d05571"> 144</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a14d8d76f3fd30cf1963344b7a0d05571">Get</a>(<span class="keyword">const</span> KeyType&amp; key, ValueType&amp; value)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; impl::thin::ReadableImpl&lt;ValueType&gt; rdValue(value);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; proxy.Get(wrKey, rdValue);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a492e9314ac1c1c736a9836fd6a51890b"> 158</a></span>&#160; ValueType <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a492e9314ac1c1c736a9836fd6a51890b">Get</a>(<span class="keyword">const</span> KeyType&amp; key)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; ValueType value;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a14d8d76f3fd30cf1963344b7a0d05571">Get</a>(key, value);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> value;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> InIter, <span class="keyword">typename</span> OutIter&gt;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6b85d89fecdf1ff43e073bebae34407"> 178</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6b85d89fecdf1ff43e073bebae34407">GetAll</a>(InIter begin, InIter end, OutIter dst)</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; impl::thin::WritableSetImpl&lt;K, InIter&gt; wrSeq(begin, end);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; impl::thin::ReadableMapImpl&lt;K, V, OutIter&gt; rdSeq(dst);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; proxy.GetAll(wrSeq, rdSeq);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Set, <span class="keyword">typename</span> Map&gt;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4b24cf4e80628f2fab07618a6105daca"> 196</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4b24cf4e80628f2fab07618a6105daca">GetAll</a>(<span class="keyword">const</span> Set&amp; keys, Map&amp; res)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6b85d89fecdf1ff43e073bebae34407">GetAll</a>(keys.begin(), keys.end(), std::inserter(res, res.end()));</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae54f108fda3ecf71c9a2863b760ea476"> 213</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae54f108fda3ecf71c9a2863b760ea476">Replace</a>(<span class="keyword">const</span> K&amp; key, <span class="keyword">const</span> V&amp; value)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValue(value);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> proxy.Replace(wrKey, wrValue);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a7c79cd0c124d4dcd6a570fc53df629c9"> 230</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a7c79cd0c124d4dcd6a570fc53df629c9">Replace</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; oldVal, <span class="keyword">const</span> ValueType&amp; newVal)</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrOldVal(oldVal);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrNewVal(newVal);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> proxy.Replace(wrKey, wrOldVal, wrNewVal);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#adb51208ea8838db113f5cd1ed0a3706b"> 245</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#adb51208ea8838db113f5cd1ed0a3706b">ContainsKey</a>(<span class="keyword">const</span> KeyType&amp; key)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> proxy.ContainsKey(wrKey);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Set&gt;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a68f05513691c5de09f3d2d557ac61394"> 259</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a68f05513691c5de09f3d2d557ac61394">ContainsKeys</a>(<span class="keyword">const</span> Set&amp; keys)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a68f05513691c5de09f3d2d557ac61394">ContainsKeys</a>(keys.begin(), keys.end());</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> InIter&gt;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5e2ded2d1950dc4556ee4dbcf849a9eb"> 272</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5e2ded2d1950dc4556ee4dbcf849a9eb">ContainsKeys</a>(InIter begin, InIter end)</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; impl::thin::WritableSetImpl&lt;K, InIter&gt; wrSeq(begin, end);</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; <span class="keywordflow">return</span> proxy.ContainsKeys(wrSeq);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a9beb441de7e564cc71415a757cc3be29"> 288</a></span>&#160; int64_t <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a9beb441de7e564cc71415a757cc3be29">GetSize</a>(int32_t peekModes)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> proxy.GetSize(peekModes);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6f6ee1de82feb3c8b4791f3b1632dc4"> 305</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6f6ee1de82feb3c8b4791f3b1632dc4">Remove</a>(<span class="keyword">const</span> KeyType&amp; key)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> proxy.Remove(wrKey);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#acb27dedabd63f7630fa23373f2df69fa"> 320</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#acb27dedabd63f7630fa23373f2df69fa">Remove</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; val)</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrVal(val);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> proxy.Remove(wrKey, wrVal);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Set&gt;</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad31ea272179b7424e6e59679d62759ba"> 335</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad31ea272179b7424e6e59679d62759ba">RemoveAll</a>(<span class="keyword">const</span> Set&amp; keys)</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a79b8b0d8c42003dffed552a65fc6b582">RemoveAll</a>(keys.begin(), keys.end());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> InIter&gt;</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a45ff3472405cdce705938f219544a3c9"> 348</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a45ff3472405cdce705938f219544a3c9">RemoveAll</a>(InIter begin, InIter end)</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; impl::thin::WritableSetImpl&lt;K, InIter&gt; wrSeq(begin, end);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; proxy.RemoveAll(wrSeq);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a79b8b0d8c42003dffed552a65fc6b582"> 360</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a79b8b0d8c42003dffed552a65fc6b582">RemoveAll</a>()</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; proxy.RemoveAll();</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a1ad68bf064989c3fcfa31b14061b888c"> 371</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a1ad68bf064989c3fcfa31b14061b888c">Clear</a>(<span class="keyword">const</span> KeyType&amp; key)</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; proxy.Clear(wrKey);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a83fbdf124a17e3564b3e9dc5302a2a52"> 381</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a83fbdf124a17e3564b3e9dc5302a2a52">Clear</a>()</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; proxy.Clear();</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Set&gt;</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4e5213be2d0327207b29630527aff40a"> 393</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4e5213be2d0327207b29630527aff40a">ClearAll</a>(<span class="keyword">const</span> Set&amp; keys)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4e5213be2d0327207b29630527aff40a">ClearAll</a>(keys.begin(), keys.end());</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> InIter&gt;</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a8dad79827ec0125ba03a27d7eced1d97"> 406</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a8dad79827ec0125ba03a27d7eced1d97">ClearAll</a>(InIter begin, InIter end)</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; impl::thin::WritableSetImpl&lt;K, InIter&gt; wrSeq(begin, end);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; proxy.ClearAll(wrSeq);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a276bfba8f208a250adf92843955a97f3"> 422</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a276bfba8f208a250adf92843955a97f3">GetAndPut</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn, ValueType&amp; valOut)</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValIn(valIn);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; impl::thin::ReadableImpl&lt;ValueType&gt; rdValOut(valOut);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; proxy.GetAndPut(wrKey, wrValIn, rdValOut);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae0fe649399cd5831886757b6d73dec15"> 440</a></span>&#160; ValueType <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae0fe649399cd5831886757b6d73dec15">GetAndPut</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; ValueType valOut;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a276bfba8f208a250adf92843955a97f3">GetAndPut</a>(key, valIn, valOut);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> valOut;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a04838ac0cff480ca4173affafef804f5"> 456</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a04838ac0cff480ca4173affafef804f5">GetAndRemove</a>(<span class="keyword">const</span> KeyType&amp; key, ValueType&amp; valOut)</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; impl::thin::ReadableImpl&lt;ValueType&gt; rdValOut(valOut);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; proxy.GetAndRemove(wrKey, rdValOut);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5ffd6fe075807228e3bd60f0475e49e1"> 471</a></span>&#160; ValueType <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5ffd6fe075807228e3bd60f0475e49e1">GetAndRemove</a>(<span class="keyword">const</span> KeyType&amp; key)</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; ValueType valOut;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a04838ac0cff480ca4173affafef804f5">GetAndRemove</a>(key, valOut);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">return</span> valOut;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ac67c78cda25fd6e1e7ffc65a04e676e8"> 489</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ac67c78cda25fd6e1e7ffc65a04e676e8">GetAndReplace</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn, ValueType&amp; valOut)</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; {</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValIn(valIn);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; impl::thin::ReadableImpl&lt;ValueType&gt; rdValOut(valOut);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; proxy.GetAndReplace(wrKey, wrValIn, rdValOut);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; }</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aab00f0b4255e27d2cd70f6c162055571"> 507</a></span>&#160; ValueType <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aab00f0b4255e27d2cd70f6c162055571">GetAndReplace</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; ValueType valOut;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ac67c78cda25fd6e1e7ffc65a04e676e8">GetAndReplace</a>(key, valIn, valOut);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> valOut;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0587a1dd8309b8fd1b3e339fa9d659af"> 524</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0587a1dd8309b8fd1b3e339fa9d659af">PutIfAbsent</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; val)</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValIn(val);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> proxy.PutIfAbsent(wrKey, wrValIn);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a798f809fa0b88f3268af0c348b1e05d9"> 551</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a798f809fa0b88f3268af0c348b1e05d9">GetAndPutIfAbsent</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn, ValueType&amp; valOut)</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; impl::thin::WritableKeyImpl&lt;KeyType&gt; wrKey(key);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; impl::thin::WritableImpl&lt;ValueType&gt; wrValIn(valIn);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; impl::thin::ReadableImpl&lt;ValueType&gt; rdValOut(valOut);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; proxy.GetAndPutIfAbsent(wrKey, wrValIn, rdValOut);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; }</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div><div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a46fa8fd372aee7d51caf3c4f8cdc9966"> 579</a></span>&#160; ValueType <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a46fa8fd372aee7d51caf3c4f8cdc9966">GetAndPutIfAbsent</a>(<span class="keyword">const</span> KeyType&amp; key, <span class="keyword">const</span> ValueType&amp; valIn)</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; ValueType valOut;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a798f809fa0b88f3268af0c348b1e05d9">GetAndPutIfAbsent</a>(key, valIn, valOut);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">return</span> valOut;</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="l00594"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a38660ee6bc4f9c8e46bd46a4937a08f8"> 594</a></span>&#160; <a class="code" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsCursor.html">query::QueryFieldsCursor</a> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a38660ee6bc4f9c8e46bd46a4937a08f8">Query</a>(<span class="keyword">const</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1query_1_1SqlFieldsQuery.html">query::SqlFieldsQuery</a>&amp; qry)</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> proxy.Query(qry);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aa35aa36ae9914a0ded65714bdb4e9a37"> 610</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aa35aa36ae9914a0ded65714bdb4e9a37">RefreshAffinityMapping</a>()</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="comment">// No-op.</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; impl::thin::cache::CacheClientProxy proxy;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; };</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; }</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;}</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<span class="preprocessor">#endif // _IGNITE_THIN_CACHE_CACHE_CLIENT</span></div><div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a0c4c44b1cc3a1498df116a1d9265b7e9"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0c4c44b1cc3a1498df116a1d9265b7e9">ignite::thin::cache::CacheClient::ValueType</a></div><div class="ttdeci">V ValueType</div><div class="ttdoc">Value type. </div><div class="ttdef"><b>Definition:</b> cache_client.h:68</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a04838ac0cff480ca4173affafef804f5"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a04838ac0cff480ca4173affafef804f5">ignite::thin::cache::CacheClient::GetAndRemove</a></div><div class="ttdeci">void GetAndRemove(const KeyType &amp;key, ValueType &amp;valOut)</div><div class="ttdoc">Atomically removes the entry for a key only if currently mapped to some value. </div><div class="ttdef"><b>Definition:</b> cache_client.h:456</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_af6b85d89fecdf1ff43e073bebae34407"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6b85d89fecdf1ff43e073bebae34407">ignite::thin::cache::CacheClient::GetAll</a></div><div class="ttdeci">void GetAll(InIter begin, InIter end, OutIter dst)</div><div class="ttdoc">Retrieves values mapped to the specified keys from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:178</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a79b8b0d8c42003dffed552a65fc6b582"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a79b8b0d8c42003dffed552a65fc6b582">ignite::thin::cache::CacheClient::RemoveAll</a></div><div class="ttdeci">void RemoveAll()</div><div class="ttdoc">Removes all mappings from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:360</div></div>
<div class="ttc" id="thin-client_2include_2ignite_2thin_2cache_2query_2query__fields__cursor_8h_html"><div class="ttname"><a href="thin-client_2include_2ignite_2thin_2cache_2query_2query__fields__cursor_8h.html">query_fields_cursor.h</a></div><div class="ttdoc">Declares ignite::thin::cache::query::QueryFieldsCursor class. </div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ae942c7ae26b148076557a3cc9bf31ff8"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae942c7ae26b148076557a3cc9bf31ff8">ignite::thin::cache::CacheClient::CacheClient</a></div><div class="ttdeci">CacheClient(common::concurrent::SharedPointer&lt; void &gt; impl)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> cache_client.h:75</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a5ffd6fe075807228e3bd60f0475e49e1"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5ffd6fe075807228e3bd60f0475e49e1">ignite::thin::cache::CacheClient::GetAndRemove</a></div><div class="ttdeci">ValueType GetAndRemove(const KeyType &amp;key)</div><div class="ttdoc">Atomically removes the entry for a key only if currently mapped to some value. </div><div class="ttdef"><b>Definition:</b> cache_client.h:471</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a9beb441de7e564cc71415a757cc3be29"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a9beb441de7e564cc71415a757cc3be29">ignite::thin::cache::CacheClient::GetSize</a></div><div class="ttdeci">int64_t GetSize(int32_t peekModes)</div><div class="ttdoc">Gets the number of all entries cached across all nodes. </div><div class="ttdef"><b>Definition:</b> cache_client.h:288</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a45ff3472405cdce705938f219544a3c9"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a45ff3472405cdce705938f219544a3c9">ignite::thin::cache::CacheClient::RemoveAll</a></div><div class="ttdeci">void RemoveAll(InIter begin, InIter end)</div><div class="ttdoc">Removes given key mappings from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:348</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a27d8e2533526122c277b1ea33d73f064"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a27d8e2533526122c277b1ea33d73f064">ignite::thin::cache::CacheClient::KeyType</a></div><div class="ttdeci">K KeyType</div><div class="ttdoc">Key type. </div><div class="ttdef"><b>Definition:</b> cache_client.h:65</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a46fa8fd372aee7d51caf3c4f8cdc9966"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a46fa8fd372aee7d51caf3c4f8cdc9966">ignite::thin::cache::CacheClient::GetAndPutIfAbsent</a></div><div class="ttdeci">ValueType GetAndPutIfAbsent(const KeyType &amp;key, const ValueType &amp;valIn)</div><div class="ttdoc">Stores given key-value pair in cache only if cache had no previous mapping for it. </div><div class="ttdef"><b>Definition:</b> cache_client.h:579</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a5e2ded2d1950dc4556ee4dbcf849a9eb"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a5e2ded2d1950dc4556ee4dbcf849a9eb">ignite::thin::cache::CacheClient::ContainsKeys</a></div><div class="ttdeci">bool ContainsKeys(InIter begin, InIter end)</div><div class="ttdoc">Check if cache contains mapping for these keys. </div><div class="ttdef"><b>Definition:</b> cache_client.h:272</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_aab00f0b4255e27d2cd70f6c162055571"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aab00f0b4255e27d2cd70f6c162055571">ignite::thin::cache::CacheClient::GetAndReplace</a></div><div class="ttdeci">ValueType GetAndReplace(const KeyType &amp;key, const ValueType &amp;valIn)</div><div class="ttdoc">Atomically replaces the value for a given key if and only if there is a value currently mapped by the...</div><div class="ttdef"><b>Definition:</b> cache_client.h:507</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a103c8328d3f48722ab84285e5c24429a"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a103c8328d3f48722ab84285e5c24429a">ignite::thin::cache::CacheClient::~CacheClient</a></div><div class="ttdeci">~CacheClient()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> cache_client.h:92</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ae54f108fda3ecf71c9a2863b760ea476"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae54f108fda3ecf71c9a2863b760ea476">ignite::thin::cache::CacheClient::Replace</a></div><div class="ttdeci">bool Replace(const K &amp;key, const V &amp;value)</div><div class="ttdoc">Stores given key-value pair in cache only if there is a previous mapping for it. </div><div class="ttdef"><b>Definition:</b> cache_client.h:213</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a492e9314ac1c1c736a9836fd6a51890b"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a492e9314ac1c1c736a9836fd6a51890b">ignite::thin::cache::CacheClient::Get</a></div><div class="ttdeci">ValueType Get(const KeyType &amp;key)</div><div class="ttdoc">Get value from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:158</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_acb27dedabd63f7630fa23373f2df69fa"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#acb27dedabd63f7630fa23373f2df69fa">ignite::thin::cache::CacheClient::Remove</a></div><div class="ttdeci">bool Remove(const KeyType &amp;key, const ValueType &amp;val)</div><div class="ttdoc">Removes given key mapping from cache if one exists and value is equal to the passed in value...</div><div class="ttdef"><b>Definition:</b> cache_client.h:320</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a798f809fa0b88f3268af0c348b1e05d9"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a798f809fa0b88f3268af0c348b1e05d9">ignite::thin::cache::CacheClient::GetAndPutIfAbsent</a></div><div class="ttdeci">void GetAndPutIfAbsent(const KeyType &amp;key, const ValueType &amp;valIn, ValueType &amp;valOut)</div><div class="ttdoc">Stores given key-value pair in cache only if cache had no previous mapping for it. </div><div class="ttdef"><b>Definition:</b> cache_client.h:551</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ad72cb7fec2922cde1b9879eb38c0f21f"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad72cb7fec2922cde1b9879eb38c0f21f">ignite::thin::cache::CacheClient::PutAll</a></div><div class="ttdeci">void PutAll(const Map &amp;vals)</div><div class="ttdoc">Stores given key-value pairs in cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:133</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_aeac4e48549a40391e2a6cc45c6722f78"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aeac4e48549a40391e2a6cc45c6722f78">ignite::thin::cache::CacheClient::PutAll</a></div><div class="ttdeci">void PutAll(InIter begin, InIter end)</div><div class="ttdoc">Stores given key-value pairs in cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:119</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a09a6d86b6377a12c63f3509785482a08"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a09a6d86b6377a12c63f3509785482a08">ignite::thin::cache::CacheClient::CacheClient</a></div><div class="ttdeci">CacheClient()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> cache_client.h:84</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a68f05513691c5de09f3d2d557ac61394"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a68f05513691c5de09f3d2d557ac61394">ignite::thin::cache::CacheClient::ContainsKeys</a></div><div class="ttdeci">bool ContainsKeys(const Set &amp;keys)</div><div class="ttdoc">Check if cache contains mapping for these keys. </div><div class="ttdef"><b>Definition:</b> cache_client.h:259</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a1ad68bf064989c3fcfa31b14061b888c"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a1ad68bf064989c3fcfa31b14061b888c">ignite::thin::cache::CacheClient::Clear</a></div><div class="ttdeci">void Clear(const KeyType &amp;key)</div><div class="ttdoc">Clear entry from the cache and swap storage, without notifying listeners or CacheWriters. </div><div class="ttdef"><b>Definition:</b> cache_client.h:371</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a303bc7dcd7699cb5aacd6af3301e870b"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a303bc7dcd7699cb5aacd6af3301e870b">ignite::thin::cache::CacheClient::Put</a></div><div class="ttdeci">void Put(const KeyType &amp;key, const ValueType &amp;value)</div><div class="ttdoc">Associate the specified value with the specified key in the cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:103</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a276bfba8f208a250adf92843955a97f3"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a276bfba8f208a250adf92843955a97f3">ignite::thin::cache::CacheClient::GetAndPut</a></div><div class="ttdeci">void GetAndPut(const KeyType &amp;key, const ValueType &amp;valIn, ValueType &amp;valOut)</div><div class="ttdoc">Associates the specified value with the specified key in this cache, returning an existing value if o...</div><div class="ttdef"><b>Definition:</b> cache_client.h:422</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a7c79cd0c124d4dcd6a570fc53df629c9"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a7c79cd0c124d4dcd6a570fc53df629c9">ignite::thin::cache::CacheClient::Replace</a></div><div class="ttdeci">bool Replace(const KeyType &amp;key, const ValueType &amp;oldVal, const ValueType &amp;newVal)</div><div class="ttdoc">Stores given key-value pair in cache only if the previous value is equal to the old value passed as a...</div><div class="ttdef"><b>Definition:</b> cache_client.h:230</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_aa35aa36ae9914a0ded65714bdb4e9a37"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#aa35aa36ae9914a0ded65714bdb4e9a37">ignite::thin::cache::CacheClient::RefreshAffinityMapping</a></div><div class="ttdeci">void RefreshAffinityMapping()</div><div class="ttdoc">Refresh affinity mapping. </div><div class="ttdef"><b>Definition:</b> cache_client.h:610</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a4b24cf4e80628f2fab07618a6105daca"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4b24cf4e80628f2fab07618a6105daca">ignite::thin::cache::CacheClient::GetAll</a></div><div class="ttdeci">void GetAll(const Set &amp;keys, Map &amp;res)</div><div class="ttdoc">Retrieves values mapped to the specified keys from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:196</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html">ignite::thin::cache::CacheClient</a></div><div class="ttdoc">Cache client class template. </div><div class="ttdef"><b>Definition:</b> cache_client.h:59</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_af6f6ee1de82feb3c8b4791f3b1632dc4"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#af6f6ee1de82feb3c8b4791f3b1632dc4">ignite::thin::cache::CacheClient::Remove</a></div><div class="ttdeci">bool Remove(const KeyType &amp;key)</div><div class="ttdoc">Removes given key mapping from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:305</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ad31ea272179b7424e6e59679d62759ba"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ad31ea272179b7424e6e59679d62759ba">ignite::thin::cache::CacheClient::RemoveAll</a></div><div class="ttdeci">void RemoveAll(const Set &amp;keys)</div><div class="ttdoc">Removes given key mappings from cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:335</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a8dad79827ec0125ba03a27d7eced1d97"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a8dad79827ec0125ba03a27d7eced1d97">ignite::thin::cache::CacheClient::ClearAll</a></div><div class="ttdeci">void ClearAll(InIter begin, InIter end)</div><div class="ttdoc">Clear entries from the cache and swap storage, without notifying listeners or CacheWriters. </div><div class="ttdef"><b>Definition:</b> cache_client.h:406</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1query_1_1SqlFieldsQuery_html"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1query_1_1SqlFieldsQuery.html">ignite::thin::cache::query::SqlFieldsQuery</a></div><div class="ttdoc">SQL fields query for thin client. </div><div class="ttdef"><b>Definition:</b> thin-client/include/ignite/thin/cache/query/query_sql_fields.h:52</div></div>
<div class="ttc" id="namespaceignite_html"><div class="ttname"><a href="namespaceignite.html">ignite</a></div><div class="ttdoc">Apache Ignite API. </div><div class="ttdef"><b>Definition:</b> cache.h:48</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ac67c78cda25fd6e1e7ffc65a04e676e8"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ac67c78cda25fd6e1e7ffc65a04e676e8">ignite::thin::cache::CacheClient::GetAndReplace</a></div><div class="ttdeci">void GetAndReplace(const KeyType &amp;key, const ValueType &amp;valIn, ValueType &amp;valOut)</div><div class="ttdoc">Atomically replaces the value for a given key if and only if there is a value currently mapped by the...</div><div class="ttdef"><b>Definition:</b> cache_client.h:489</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_adb51208ea8838db113f5cd1ed0a3706b"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#adb51208ea8838db113f5cd1ed0a3706b">ignite::thin::cache::CacheClient::ContainsKey</a></div><div class="ttdeci">bool ContainsKey(const KeyType &amp;key)</div><div class="ttdoc">Check if the cache contains a value for the specified key. </div><div class="ttdef"><b>Definition:</b> cache_client.h:245</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a4e5213be2d0327207b29630527aff40a"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a4e5213be2d0327207b29630527aff40a">ignite::thin::cache::CacheClient::ClearAll</a></div><div class="ttdeci">void ClearAll(const Set &amp;keys)</div><div class="ttdoc">Clear entries from the cache and swap storage, without notifying listeners or CacheWriters. </div><div class="ttdef"><b>Definition:</b> cache_client.h:393</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsCursor_html"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsCursor.html">ignite::thin::cache::query::QueryFieldsCursor</a></div><div class="ttdoc">Query fields cursor. </div><div class="ttdef"><b>Definition:</b> thin-client/include/ignite/thin/cache/query/query_fields_cursor.h:48</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a0587a1dd8309b8fd1b3e339fa9d659af"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a0587a1dd8309b8fd1b3e339fa9d659af">ignite::thin::cache::CacheClient::PutIfAbsent</a></div><div class="ttdeci">bool PutIfAbsent(const KeyType &amp;key, const ValueType &amp;val)</div><div class="ttdoc">Atomically associates the specified key with the given value if it is not already associated with a v...</div><div class="ttdef"><b>Definition:</b> cache_client.h:524</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a83fbdf124a17e3564b3e9dc5302a2a52"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a83fbdf124a17e3564b3e9dc5302a2a52">ignite::thin::cache::CacheClient::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdoc">Clear cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:381</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a14d8d76f3fd30cf1963344b7a0d05571"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a14d8d76f3fd30cf1963344b7a0d05571">ignite::thin::cache::CacheClient::Get</a></div><div class="ttdeci">void Get(const KeyType &amp;key, ValueType &amp;value)</div><div class="ttdoc">Get value from the cache. </div><div class="ttdef"><b>Definition:</b> cache_client.h:144</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_ae0fe649399cd5831886757b6d73dec15"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#ae0fe649399cd5831886757b6d73dec15">ignite::thin::cache::CacheClient::GetAndPut</a></div><div class="ttdeci">ValueType GetAndPut(const KeyType &amp;key, const ValueType &amp;valIn)</div><div class="ttdoc">Associates the specified value with the specified key in this cache, returning an existing value if o...</div><div class="ttdef"><b>Definition:</b> cache_client.h:440</div></div>
<div class="ttc" id="classignite_1_1thin_1_1cache_1_1CacheClient_html_a38660ee6bc4f9c8e46bd46a4937a08f8"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1CacheClient.html#a38660ee6bc4f9c8e46bd46a4937a08f8">ignite::thin::cache::CacheClient::Query</a></div><div class="ttdeci">query::QueryFieldsCursor Query(const query::SqlFieldsQuery &amp;qry)</div><div class="ttdoc">Perform SQL fields query. </div><div class="ttdef"><b>Definition:</b> cache_client.h:594</div></div>
<div class="ttc" id="thin-client_2include_2ignite_2thin_2cache_2query_2query__sql__fields_8h_html"><div class="ttname"><a href="thin-client_2include_2ignite_2thin_2cache_2query_2query__sql__fields_8h.html">query_sql_fields.h</a></div><div class="ttdoc">Declares ignite::thin::cache::query::SqlFieldsQuery class. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 20 2021 14:08:59 for &nbsp; Apache Ignite C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>