<!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 .NET Reference: Apache::Geode::Client::IRegion&lt; TKey, TValue &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native .NET Reference
   &#160;<span id="projectnumber">1.13.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a01014.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">Apache::Geode::Client::IRegion&lt; TKey, TValue &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Encapsulates a concrete region of cached data.  
 <a href="a01014.html#details">More...</a></p>

<p>Inherits IDictionary&lt; TKey, TValue &gt;.</p>

<p>Inherited by Apache::Geode::Client::LocalRegion&lt; TKey, TValue &gt;, and Apache::Geode::Client::Region&lt; TKey, TValue &gt;.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a626a362e6eb8dea0fd95ea0fc84ad62a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a626a362e6eb8dea0fd95ea0fc84ad62a">ContainsValueForKey</a> (TKey key)</td></tr>
<tr class="memdesc:a626a362e6eb8dea0fd95ea0fc84ad62a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the region contains a value for the given key.  <a href="#a626a362e6eb8dea0fd95ea0fc84ad62a">More...</a><br /></td></tr>
<tr class="separator:a626a362e6eb8dea0fd95ea0fc84ad62a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d2304e1b45404583bb0706b69aef563"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a7d2304e1b45404583bb0706b69aef563">CreateSubRegion</a> (String^ subRegionName, <a class="el" href="a01010.html">RegionAttributes</a>&lt; TKey, TValue &gt;^ attributes)</td></tr>
<tr class="memdesc:a7d2304e1b45404583bb0706b69aef563"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a subregion with the given name and attributes.  <a href="#a7d2304e1b45404583bb0706b69aef563">More...</a><br /></td></tr>
<tr class="separator:a7d2304e1b45404583bb0706b69aef563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fe272875b88cc79659999a01536142b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a2fe272875b88cc79659999a01536142b">DestroyRegion</a> ()</td></tr>
<tr class="memdesc:a2fe272875b88cc79659999a01536142b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the whole distributed region and provides a user-defined parameter object to any <code><a class="el" href="a00918.html" title="An application plug-in that can be installed on a region.">ICacheWriter</a></code> invoked in the process.  <a href="#a2fe272875b88cc79659999a01536142b">More...</a><br /></td></tr>
<tr class="separator:a2fe272875b88cc79659999a01536142b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfd162970d6487477f3e8cb06e21bea4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#adfd162970d6487477f3e8cb06e21bea4">DestroyRegion</a> (Object^ callbackArg)</td></tr>
<tr class="memdesc:adfd162970d6487477f3e8cb06e21bea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the whole distributed region and provides a user-defined parameter object to any <code><a class="el" href="a00918.html" title="An application plug-in that can be installed on a region.">ICacheWriter</a></code> invoked in the process.  <a href="#adfd162970d6487477f3e8cb06e21bea4">More...</a><br /></td></tr>
<tr class="separator:adfd162970d6487477f3e8cb06e21bea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce8c94740afb38b85a704fde2a4be16"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a5ce8c94740afb38b85a704fde2a4be16">ExistsValue</a> (String^ predicate)</td></tr>
<tr class="memdesc:a5ce8c94740afb38b85a704fde2a4be16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate and returns whether any result exists.  <a href="#a5ce8c94740afb38b85a704fde2a4be16">More...</a><br /></td></tr>
<tr class="separator:a5ce8c94740afb38b85a704fde2a4be16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b186b9c9a1b3500af1e9bf111513818"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a1b186b9c9a1b3500af1e9bf111513818">ExistsValue</a> (String^ predicate, TimeSpan timeout)</td></tr>
<tr class="memdesc:a1b186b9c9a1b3500af1e9bf111513818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate and returns whether any result exists.  <a href="#a1b186b9c9a1b3500af1e9bf111513818">More...</a><br /></td></tr>
<tr class="separator:a1b186b9c9a1b3500af1e9bf111513818"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbac3cb000d22592bdba5f09b8dd7121"><td class="memItemLeft" align="right" valign="top">TValue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121">Get</a> (TKey key, Object^ callbackArg)</td></tr>
<tr class="memdesc:adbac3cb000d22592bdba5f09b8dd7121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value for the given key, passing the callback argument to any cache loaders or that are invoked in the operation.  <a href="#adbac3cb000d22592bdba5f09b8dd7121">More...</a><br /></td></tr>
<tr class="separator:adbac3cb000d22592bdba5f09b8dd7121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6faf71cd82081a4bccf32f8eadfa0d72"><td class="memItemLeft" align="right" valign="top">TValue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a6faf71cd82081a4bccf32f8eadfa0d72">Get</a> (TKey key)</td></tr>
<tr class="memdesc:a6faf71cd82081a4bccf32f8eadfa0d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value for the given key, passing the callback argument to any cache loaders or that are invoked in the operation.  <a href="#a6faf71cd82081a4bccf32f8eadfa0d72">More...</a><br /></td></tr>
<tr class="separator:a6faf71cd82081a4bccf32f8eadfa0d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1b784c997167c072c5c4a547bd717ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#aa1b784c997167c072c5c4a547bd717ed">GetAll</a> (System::Collections::Generic::ICollection&lt; TKey &gt;^ keys, System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^ values, System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^ exceptions)</td></tr>
<tr class="memdesc:aa1b784c997167c072c5c4a547bd717ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets values for collection of keys from the local cache or server.  <a href="#aa1b784c997167c072c5c4a547bd717ed">More...</a><br /></td></tr>
<tr class="separator:aa1b784c997167c072c5c4a547bd717ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13bde108e9fd6cca44143183251f44a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ab13bde108e9fd6cca44143183251f44a">GetAll</a> (System::Collections::Generic::ICollection&lt; TKey &gt;^ keys, System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^ values, System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^ exceptions, bool addToLocalCache)</td></tr>
<tr class="memdesc:ab13bde108e9fd6cca44143183251f44a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets values for collection of keys from the local cache or server.  <a href="#ab13bde108e9fd6cca44143183251f44a">More...</a><br /></td></tr>
<tr class="separator:ab13bde108e9fd6cca44143183251f44a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a180ce2a89972b4071891292625dca523"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a180ce2a89972b4071891292625dca523">GetAll</a> (System::Collections::Generic::ICollection&lt; TKey &gt;^ keys, System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^ values, System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^ exceptions, bool addToLocalCache, Object^ callbackArg)</td></tr>
<tr class="memdesc:a180ce2a89972b4071891292625dca523"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets values for collection of keys from the local cache or server.  <a href="#a180ce2a89972b4071891292625dca523">More...</a><br /></td></tr>
<tr class="separator:a180ce2a89972b4071891292625dca523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a769b4c5faa447345e2b7ebfc4ef2e728"><td class="memItemLeft" align="right" valign="top">System::Collections::Generic::ICollection&lt; <a class="el" href="a01006.html">Client::RegionEntry</a>&lt; TKey, TValue &gt;^&gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a769b4c5faa447345e2b7ebfc4ef2e728">GetEntries</a> (bool recursive)</td></tr>
<tr class="memdesc:a769b4c5faa447345e2b7ebfc4ef2e728"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the entries in this region.  <a href="#a769b4c5faa447345e2b7ebfc4ef2e728">More...</a><br /></td></tr>
<tr class="separator:a769b4c5faa447345e2b7ebfc4ef2e728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af347b73daa0674ba3afb31356f8a21fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01006.html">Client::RegionEntry</a>&lt; TKey, TValue &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#af347b73daa0674ba3afb31356f8a21fe">GetEntry</a> (TKey key)</td></tr>
<tr class="memdesc:af347b73daa0674ba3afb31356f8a21fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the meta-object <a class="el" href="a01006.html" title="An object in a region that represents an entry, that is, a key-value pair.">RegionEntry</a> for the given key.  <a href="#af347b73daa0674ba3afb31356f8a21fe">More...</a><br /></td></tr>
<tr class="separator:af347b73daa0674ba3afb31356f8a21fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eb9c75ebf9b65514dc0a9370c9768e0"><td class="memItemLeft" align="right" valign="top">virtual System::Collections::Generic::IEnumerator&lt; KeyValuePair&lt; TKey, TValue &gt; &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a8eb9c75ebf9b65514dc0a9370c9768e0">GetEnumerator</a> ()</td></tr>
<tr class="memdesc:a8eb9c75ebf9b65514dc0a9370c9768e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumerator that iterates through the collection of the region entries.  <a href="#a8eb9c75ebf9b65514dc0a9370c9768e0">More...</a><br /></td></tr>
<tr class="separator:a8eb9c75ebf9b65514dc0a9370c9768e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcdfc5b0bc9f253f23808f07e6ac68e"><td class="memItemLeft" align="right" valign="top">virtual System::Collections::IEnumerator ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#aadcdfc5b0bc9f253f23808f07e6ac68e">GetEnumeratorOld</a> ()</td></tr>
<tr class="memdesc:aadcdfc5b0bc9f253f23808f07e6ac68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an enumerator that iterates through the collection of the region entries.  <a href="#aadcdfc5b0bc9f253f23808f07e6ac68e">More...</a><br /></td></tr>
<tr class="separator:aadcdfc5b0bc9f253f23808f07e6ac68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42afd76ead9fd336e3eea3b12e7c0405"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a42afd76ead9fd336e3eea3b12e7c0405">GetLocalView</a> ()</td></tr>
<tr class="memdesc:a42afd76ead9fd336e3eea3b12e7c0405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reteuns an instance of a Region&lt;TKey, TValue&gt; class that executes within a local scope of a process.  <a href="#a42afd76ead9fd336e3eea3b12e7c0405">More...</a><br /></td></tr>
<tr class="separator:a42afd76ead9fd336e3eea3b12e7c0405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69bb307ccbf16079be616e6da9a8cbf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a69bb307ccbf16079be616e6da9a8cbf6">GetSubRegion</a> (String^ path)</td></tr>
<tr class="memdesc:a69bb307ccbf16079be616e6da9a8cbf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the subregion identified by the path, null if no such subregion.  <a href="#a69bb307ccbf16079be616e6da9a8cbf6">More...</a><br /></td></tr>
<tr class="separator:a69bb307ccbf16079be616e6da9a8cbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12a220073d1c1bbc0238a623220e6222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01026.html">ISubscriptionService</a>&lt; TKey &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a12a220073d1c1bbc0238a623220e6222">GetSubscriptionService</a> ()</td></tr>
<tr class="memdesc:a12a220073d1c1bbc0238a623220e6222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reteuns an instance of a Region&lt;TKey, TValue&gt; class that implements <a class="el" href="a01026.html" title="This generic interface class provides all Register Interest API&#39;s for geode&#39;s generic non local regio...">ISubscriptionService</a> interface This method is applicable only on distributed region &amp; not on local region.  <a href="#a12a220073d1c1bbc0238a623220e6222">More...</a><br /></td></tr>
<tr class="separator:a12a220073d1c1bbc0238a623220e6222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9509ea72521220db274586d0623690b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a9509ea72521220db274586d0623690b5">Invalidate</a> (TKey key)</td></tr>
<tr class="memdesc:a9509ea72521220db274586d0623690b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates the entry with the specified key, passing the callback argument to any cache listeners that are invoked in the operation.  <a href="#a9509ea72521220db274586d0623690b5">More...</a><br /></td></tr>
<tr class="separator:a9509ea72521220db274586d0623690b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6326c9931b16588ad8e8d3f4f3cb6948"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a6326c9931b16588ad8e8d3f4f3cb6948">Invalidate</a> (TKey key, Object^ callbackArg)</td></tr>
<tr class="memdesc:a6326c9931b16588ad8e8d3f4f3cb6948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates the entry with the specified key, passing the callback argument to any cache listeners that are invoked in the operation.  <a href="#a6326c9931b16588ad8e8d3f4f3cb6948">More...</a><br /></td></tr>
<tr class="separator:a6326c9931b16588ad8e8d3f4f3cb6948"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e1fb5d0863bf6db36bb14cc8019051"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a13e1fb5d0863bf6db36bb14cc8019051">InvalidateRegion</a> ()</td></tr>
<tr class="memdesc:a13e1fb5d0863bf6db36bb14cc8019051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates this region.  <a href="#a13e1fb5d0863bf6db36bb14cc8019051">More...</a><br /></td></tr>
<tr class="separator:a13e1fb5d0863bf6db36bb14cc8019051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba43e4f0c04fe16697727e5e0a0de5b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#aba43e4f0c04fe16697727e5e0a0de5b1">InvalidateRegion</a> (Object^ callbackArg)</td></tr>
<tr class="memdesc:aba43e4f0c04fe16697727e5e0a0de5b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates this region.  <a href="#aba43e4f0c04fe16697727e5e0a0de5b1">More...</a><br /></td></tr>
<tr class="separator:aba43e4f0c04fe16697727e5e0a0de5b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa665fe92e141439d37aedebeffcafbc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1">Put</a> (TKey key, TValue value, Object^ callbackArg)</td></tr>
<tr class="memdesc:aa665fe92e141439d37aedebeffcafbc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a new value into an entry in this region with the specified key, passing the callback argument to any cache writers and cache listeners that are invoked in the operation.  <a href="#aa665fe92e141439d37aedebeffcafbc1">More...</a><br /></td></tr>
<tr class="separator:aa665fe92e141439d37aedebeffcafbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac800168130fe2a83d4ea2a9b1a38c2a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ac800168130fe2a83d4ea2a9b1a38c2a5">Put</a> (TKey key, TValue value)</td></tr>
<tr class="memdesc:ac800168130fe2a83d4ea2a9b1a38c2a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a new value into an entry in this region with the specified key.  <a href="#ac800168130fe2a83d4ea2a9b1a38c2a5">More...</a><br /></td></tr>
<tr class="separator:ac800168130fe2a83d4ea2a9b1a38c2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbac1059e1631716e1a43736a3941847"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#afbac1059e1631716e1a43736a3941847">PutAll</a> (IDictionary&lt; TKey, TValue &gt;^ map)</td></tr>
<tr class="memdesc:afbac1059e1631716e1a43736a3941847"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a (IDictionary) generic collection of key/value pairs in this region.  <a href="#afbac1059e1631716e1a43736a3941847">More...</a><br /></td></tr>
<tr class="separator:afbac1059e1631716e1a43736a3941847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad24c3bf57dc830fadeb367997f3747b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ad24c3bf57dc830fadeb367997f3747b7">PutAll</a> (IDictionary&lt; TKey, TValue &gt;^ map, TimeSpan timeout)</td></tr>
<tr class="memdesc:ad24c3bf57dc830fadeb367997f3747b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a (IDictionary) generic collection of key/value pairs in this region.  <a href="#ad24c3bf57dc830fadeb367997f3747b7">More...</a><br /></td></tr>
<tr class="separator:ad24c3bf57dc830fadeb367997f3747b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab4fa1af951b9501a85f4bba0b81a101"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#aab4fa1af951b9501a85f4bba0b81a101">PutAll</a> (IDictionary&lt; TKey, TValue &gt;^ map, TimeSpan timeout, Object^ callbackArg)</td></tr>
<tr class="memdesc:aab4fa1af951b9501a85f4bba0b81a101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a (IDictionary) generic collection of key/value pairs in this region.  <a href="#aab4fa1af951b9501a85f4bba0b81a101">More...</a><br /></td></tr>
<tr class="separator:aab4fa1af951b9501a85f4bba0b81a101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a465effc88634ff5c79e2897098d8a4f3"><td class="memTemplParams" colspan="2">template&lt;class TResult &gt; </td></tr>
<tr class="memitem:a465effc88634ff5c79e2897098d8a4f3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a01002.html">ISelectResults</a>&lt; TResult &gt; ^&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01014.html#a465effc88634ff5c79e2897098d8a4f3">Query</a> (String^ predicate)</td></tr>
<tr class="memdesc:a465effc88634ff5c79e2897098d8a4f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate.  <a href="#a465effc88634ff5c79e2897098d8a4f3">More...</a><br /></td></tr>
<tr class="separator:a465effc88634ff5c79e2897098d8a4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae36c076ef53e5379f05ee2bb11c73ad8"><td class="memTemplParams" colspan="2">template&lt;class TResult &gt; </td></tr>
<tr class="memitem:ae36c076ef53e5379f05ee2bb11c73ad8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a01002.html">ISelectResults</a>&lt; TResult &gt; ^&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01014.html#ae36c076ef53e5379f05ee2bb11c73ad8">Query</a> (String^ predicate, TimeSpan timeout)</td></tr>
<tr class="memdesc:ae36c076ef53e5379f05ee2bb11c73ad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate.  <a href="#ae36c076ef53e5379f05ee2bb11c73ad8">More...</a><br /></td></tr>
<tr class="separator:ae36c076ef53e5379f05ee2bb11c73ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86b2815f5ed69d5f448e2f2bf303aab4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a86b2815f5ed69d5f448e2f2bf303aab4">RemoveAll</a> (System::Collections::Generic::ICollection&lt; TKey &gt;^ keys)</td></tr>
<tr class="memdesc:a86b2815f5ed69d5f448e2f2bf303aab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all of the entries for the specified keys from this region.  <a href="#a86b2815f5ed69d5f448e2f2bf303aab4">More...</a><br /></td></tr>
<tr class="separator:a86b2815f5ed69d5f448e2f2bf303aab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d55e388b596c5c068960325ff3c0cd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a1d55e388b596c5c068960325ff3c0cd1">RemoveAll</a> (System::Collections::Generic::ICollection&lt; TKey &gt;^ keys, Object^ callbackArg)</td></tr>
<tr class="memdesc:a1d55e388b596c5c068960325ff3c0cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all of the entries for the specified keys from this region.  <a href="#a1d55e388b596c5c068960325ff3c0cd1">More...</a><br /></td></tr>
<tr class="separator:a1d55e388b596c5c068960325ff3c0cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f4d39e9a022bae1643c017791fce672"><td class="memItemLeft" align="right" valign="top">Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a4f4d39e9a022bae1643c017791fce672">SelectValue</a> (String^ predicate)</td></tr>
<tr class="memdesc:a4f4d39e9a022bae1643c017791fce672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate and returns a single result value.  <a href="#a4f4d39e9a022bae1643c017791fce672">More...</a><br /></td></tr>
<tr class="separator:a4f4d39e9a022bae1643c017791fce672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e5e96be03a3ee460cebb62187ae1983"><td class="memItemLeft" align="right" valign="top">Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a9e5e96be03a3ee460cebb62187ae1983">SelectValue</a> (String^ predicate, TimeSpan timeout)</td></tr>
<tr class="memdesc:a9e5e96be03a3ee460cebb62187ae1983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the query on the server based on the predicate and returns a single result value.  <a href="#a9e5e96be03a3ee460cebb62187ae1983">More...</a><br /></td></tr>
<tr class="separator:a9e5e96be03a3ee460cebb62187ae1983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3dedf746ef66858dab5e53df65c0c01"><td class="memItemLeft" align="right" valign="top">System::Collections::Generic::ICollection&lt; <a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue &gt;^&gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ae3dedf746ef66858dab5e53df65c0c01">SubRegions</a> (bool recursive)</td></tr>
<tr class="memdesc:ae3dedf746ef66858dab5e53df65c0c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the subregions of this region.  <a href="#ae3dedf746ef66858dab5e53df65c0c01">More...</a><br /></td></tr>
<tr class="separator:ae3dedf746ef66858dab5e53df65c0c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a2b255975462c5dcd9945b99521114642"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01010.html">RegionAttributes</a>&lt; TKey, TValue &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a2b255975462c5dcd9945b99521114642">Attributes</a><code> [get]</code></td></tr>
<tr class="memdesc:a2b255975462c5dcd9945b99521114642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the attributes for this region, which can be used to create a new region with Cache.CreateRegion.  <a href="#a2b255975462c5dcd9945b99521114642">More...</a><br /></td></tr>
<tr class="separator:a2b255975462c5dcd9945b99521114642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c61844ea2952acdead23dfe537d9568"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00402.html">AttributesMutator</a>&lt; TKey, TValue &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a0c61844ea2952acdead23dfe537d9568">AttributesMutator</a><code> [get]</code></td></tr>
<tr class="memdesc:a0c61844ea2952acdead23dfe537d9568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a mutator object for changing a subset of the region attributes.  <a href="#a0c61844ea2952acdead23dfe537d9568">More...</a><br /></td></tr>
<tr class="separator:a0c61844ea2952acdead23dfe537d9568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8efb83e448260639a7e0d0229ac7332"><td class="memItemLeft" align="right" valign="top">virtual TValue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ac8efb83e448260639a7e0d0229ac7332">default</a> [TKey]<code> [get, set]</code></td></tr>
<tr class="memdesc:ac8efb83e448260639a7e0d0229ac7332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the element with the specified key.  <a href="#ac8efb83e448260639a7e0d0229ac7332">More...</a><br /></td></tr>
<tr class="separator:ac8efb83e448260639a7e0d0229ac7332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ef9a9630561d75500fd7c51b230f66"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a56ef9a9630561d75500fd7c51b230f66">FullPath</a><code> [get]</code></td></tr>
<tr class="memdesc:a56ef9a9630561d75500fd7c51b230f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the region's full path, which can be used to get this region object with <a class="el" href="a00410.html#aed71aeab49e1fba5f4f20fc8b65e85d3" title="Returns an existing region given the full path from root, or null if no such region exists.">Cache.GetRegion</a>.  <a href="#a56ef9a9630561d75500fd7c51b230f66">More...</a><br /></td></tr>
<tr class="separator:a56ef9a9630561d75500fd7c51b230f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ea2ac1c207aff611fe1c63c9151764"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a56ea2ac1c207aff611fe1c63c9151764">IsDestroyed</a><code> [get]</code></td></tr>
<tr class="memdesc:a56ea2ac1c207aff611fe1c63c9151764"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if this region has been destroyed.  <a href="#a56ea2ac1c207aff611fe1c63c9151764">More...</a><br /></td></tr>
<tr class="separator:a56ea2ac1c207aff611fe1c63c9151764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af76c6949b540d8006c11640efcc0c462"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#af76c6949b540d8006c11640efcc0c462">IsReadOnly</a><code> [get]</code></td></tr>
<tr class="memdesc:af76c6949b540d8006c11640efcc0c462"><td class="mdescLeft">&#160;</td><td class="mdescRight">This property throws NotImplementedException when called by both local and distributed region instances.  <a href="#af76c6949b540d8006c11640efcc0c462">More...</a><br /></td></tr>
<tr class="separator:af76c6949b540d8006c11640efcc0c462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27fd97274cc56fd647c2184aac81889f"><td class="memItemLeft" align="right" valign="top">virtual System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a27fd97274cc56fd647c2184aac81889f">Keys</a><code> [get]</code></td></tr>
<tr class="memdesc:a27fd97274cc56fd647c2184aac81889f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an ICollection containing the keys of the IDictionary Returns all the keys for this region.  <a href="#a27fd97274cc56fd647c2184aac81889f">More...</a><br /></td></tr>
<tr class="separator:a27fd97274cc56fd647c2184aac81889f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad405db32531da4d1a1fedbb3bd4e58f7"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ad405db32531da4d1a1fedbb3bd4e58f7">Name</a><code> [get]</code></td></tr>
<tr class="memdesc:ad405db32531da4d1a1fedbb3bd4e58f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the region name.  <a href="#ad405db32531da4d1a1fedbb3bd4e58f7">More...</a><br /></td></tr>
<tr class="separator:ad405db32531da4d1a1fedbb3bd4e58f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ccaf8c583596816cd62e23678360f23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a5ccaf8c583596816cd62e23678360f23">ParentRegion</a><code> [get]</code></td></tr>
<tr class="memdesc:a5ccaf8c583596816cd62e23678360f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the parent region.  <a href="#a5ccaf8c583596816cd62e23678360f23">More...</a><br /></td></tr>
<tr class="separator:a5ccaf8c583596816cd62e23678360f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e60e3d79e57ab4ab0242e8f8dc88b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01018.html">Apache::Geode::Client::IRegionService</a>^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#a97e60e3d79e57ab4ab0242e8f8dc88b3">RegionService</a><code> [get]</code></td></tr>
<tr class="memdesc:a97e60e3d79e57ab4ab0242e8f8dc88b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the RegionService for this region.  <a href="#a97e60e3d79e57ab4ab0242e8f8dc88b3">More...</a><br /></td></tr>
<tr class="separator:a97e60e3d79e57ab4ab0242e8f8dc88b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa19705f8a6b1866f20768c4256715ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00546.html">CacheStatistics</a>^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#afa19705f8a6b1866f20768c4256715ae">Statistics</a><code> [get]</code></td></tr>
<tr class="memdesc:afa19705f8a6b1866f20768c4256715ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the statistics for this region.  <a href="#afa19705f8a6b1866f20768c4256715ae">More...</a><br /></td></tr>
<tr class="separator:afa19705f8a6b1866f20768c4256715ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab086a96e9396bba1a1b67bd6f017af91"><td class="memItemLeft" align="right" valign="top">virtual System::Collections::Generic::ICollection&lt; TValue &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01014.html#ab086a96e9396bba1a1b67bd6f017af91">Values</a><code> [get]</code></td></tr>
<tr class="memdesc:ab086a96e9396bba1a1b67bd6f017af91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an ICollection containing the values in the IDictionary.  <a href="#ab086a96e9396bba1a1b67bd6f017af91">More...</a><br /></td></tr>
<tr class="separator:ab086a96e9396bba1a1b67bd6f017af91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class TKey, class TValue&gt;<br />
class Apache::Geode::Client::IRegion&lt; TKey, TValue &gt;</h3>

<p>Encapsulates a concrete region of cached data. </p>
<p>Implements generic IDictionary&lt;TKey, TValue&gt; interface class. </p>
<p>This class manages subregions and cached data. Each region can contain multiple subregions and entries for data. Regions provide a hierachical name space within the cache. Also, a region can be used to group cached objects for management purposes.</p>
<p>Entries managed by the region are key-value pairs. A set of region attributes is associated with the region when it is created.</p>
<p>The <a class="el" href="a01014.html" title="Encapsulates a concrete region of cached data.">IRegion</a> interface basically contains two set of APIs: Region management APIs and (potentially) distributed operations on entries. Non-distributed operations on entries are provided by <code><a class="el" href="a01006.html" title="An object in a region that represents an entry, that is, a key-value pair.">RegionEntry</a></code>.</p>
<p>Each <code><a class="el" href="a00410.html" title="Provides a distributed cache.">Cache</a></code> defines regions called the root regions. User applications can use the root regions to create subregions for isolated name spaces and object grouping.</p>
<p>A region's name can be any string, except that it must not contain the region name separator, a forward slash (/).</p>
<p><code>Regions</code> can be referenced by a relative path name from any region higher in the hierarchy in <a class="el" href="a01014.html#a69bb307ccbf16079be616e6da9a8cbf6" title="Returns the subregion identified by the path, null if no such subregion.">IRegion.GetSubRegion</a>. You can get the relative path from the root region with <a class="el" href="a01014.html#a56ef9a9630561d75500fd7c51b230f66" title="Gets the region&#39;s full path, which can be used to get this region object with Cache....">IRegion.FullPath</a>. The name separator is used to concatenate all the region names together from the root, starting with the root's subregions. </p>
<p><a class="el" href="a01010.html" title="Defines attributes for configuring a region.">RegionAttributes</a> </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a626a362e6eb8dea0fd95ea0fc84ad62a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a626a362e6eb8dea0fd95ea0fc84ad62a">&#9670;&nbsp;</a></span>ContainsValueForKey()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::ContainsValueForKey </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>True if the region contains a value for the given key. </p>
<p>This only searches in the local cache. </p>
<p>&lt;remark&gt; For both local &amp; distributed region instances this always searches only in local cache. &lt;/remark&gt; </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key to search for</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if value is not null</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01014.html">IRegion</a>&lt;TKey, TValue&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::CreateSubRegion </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>subRegionName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01010.html">RegionAttributes</a>&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>attributes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a subregion with the given name and attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">subRegionName</td><td>new subregion name</td></tr>
    <tr><td class="paramname">attributes</td><td>subregion attributes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new subregion</dd></dl>
<dl class="section see"><dt>See also</dt><dd>CreateServerSubRegion</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::DestroyRegion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys the whole distributed region and provides a user-defined parameter object to any <code><a class="el" href="a00918.html" title="An application plug-in that can be installed on a region.">ICacheWriter</a></code> invoked in the process. </p>
<p>Destroy cascades to all entries and subregions. After the destroy, this region object can not be used any more. Any attempt to use this region object will get a <code><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></code> The region destroy not only destroys the local region but also destroys the server region. For local region instance - destroys the whole local region only For distributed region instance - destroys the whole local region and this operation is also propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00654.html" title="Thrown when the cache writer aborts the operation.">CacheWriterException</a></td><td>if a CacheWriter aborts the operation; if this occurs some subregions may have already been successfully destroyed. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#a13e1fb5d0863bf6db36bb14cc8019051" title="Invalidates this region.">InvalidateRegion</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::DestroyRegion </td>
          <td>(</td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys the whole distributed region and provides a user-defined parameter object to any <code><a class="el" href="a00918.html" title="An application plug-in that can be installed on a region.">ICacheWriter</a></code> invoked in the process. </p>
<p>Destroy cascades to all entries and subregions. After the destroy, this region object can not be used any more. Any attempt to use this region object will get a <code><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></code> The region destroy not only destroys the local region but also destroys the server region. For local region instance - destroys the whole local region only For distributed region instance - destroys the whole local region and this operation is also propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callbackArg</td><td>a user-defined parameter to pass to callback events triggered by this call </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00654.html" title="Thrown when the cache writer aborts the operation.">CacheWriterException</a></td><td>if a CacheWriter aborts the operation; if this occurs some subregions may have already been successfully destroyed. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#a13e1fb5d0863bf6db36bb14cc8019051" title="Invalidates this region.">InvalidateRegion</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::ExistsValue </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate and returns whether any result exists. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the result size is non-zero, false otherwise. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::ExistsValue </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate and returns whether any result exists. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute </td></tr>
    <tr><td class="paramname">timeout</td><td>The time (in seconds) to wait for the query response </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the result size is non-zero, false otherwise. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">TValue <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Get </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the value for the given key, passing the callback argument to any cache loaders or that are invoked in the operation. </p>
<p>For local region instance - returns the value with the specified key from the local cache only. For distributed region instance - If the value is not present locally then it is requested from the java server. If even that is unsuccessful then a local <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> will be invoked if there is one. </p>
<p>The value returned by get is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods. </p>
<p>Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> CacheStatistics.HitCount, CacheStatistics.MissCount, and <a class="el" href="a00546.html#aba28f374153f91dca22feb868d9f7642" title="For an entry, returns the time that the entry&#39;s value was last modified.">CacheStatistics.LastModifiedTime</a> (if a new value is loaded) for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key whose associated value is to be returned &ndash; the key object must implement the Equals and GetHashCode methods. </td></tr>
    <tr><td class="paramname">callbackArg</td><td>An argument passed into the <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> if loader is used. Has to be <a class="el" href="a01114.html" title="This class wraps the native C++ native::Serializable objects as managed ISerializable objects.">Serializable</a> (i.e. implement <code><a class="el" href="a01022.html" title="This interface class is the superclass of all user objects in the cache that can be serialized.">ISerializable</a></code>); can be null. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value, or null if the value is not found and can't be loaded </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00674.html" title="Thrown when the cache loader aborts the operation.">CacheLoaderException</a></td><td>if <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if this region has been destroyed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1" title="Puts a new value into an entry in this region with the specified key, passing the callback argument t...">Put</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">TValue <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Get </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the value for the given key, passing the callback argument to any cache loaders or that are invoked in the operation. </p>
<p>For local region instance - returns the value with the specified key from the local cache only. For distributed region instance - If the value is not present locally then it is requested from the java server. If even that is unsuccessful then a local <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> will be invoked if there is one. </p>
<p>The value returned by get is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods. </p>
<p>Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> CacheStatistics.HitCount, CacheStatistics.MissCount, and <a class="el" href="a00546.html#aba28f374153f91dca22feb868d9f7642" title="For an entry, returns the time that the entry&#39;s value was last modified.">CacheStatistics.LastModifiedTime</a> (if a new value is loaded) for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key whose associated value is to be returned &ndash; the key object must implement the Equals and GetHashCode methods. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value, or null if the value is not found and can't be loaded </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00674.html" title="Thrown when the cache loader aborts the operation.">CacheLoaderException</a></td><td>if <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if this region has been destroyed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1" title="Puts a new value into an entry in this region with the specified key, passing the callback argument t...">Put</a></dd></dl>

</div>
</div>
<a id="aa1b784c997167c072c5c4a547bd717ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1b784c997167c072c5c4a547bd717ed">&#9670;&nbsp;</a></span>GetAll() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetAll </td>
          <td>(</td>
          <td class="paramtype">System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^&#160;</td>
          <td class="paramname"><em>exceptions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets values for collection of keys from the local cache or server. </p>
<p>If value for a key is not present locally then it is requested from the java server. The value returned is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods. For local region instance - this method is not applicable. Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and CacheStatistics.HitCount and CacheStatistics.MissCount for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>the collection of keys</td></tr>
    <tr><td class="paramname">values</td><td>output parameter that provides the map of keys to respective values; when this is NULL then an <code><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></code> is thrown. </td></tr>
    <tr><td class="paramname">exceptions</td><td>output parameter that provides the map of keys to any exceptions while obtaining the key; ignored if this is NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the collection of keys is null or empty, or <code>values</code> argument is null. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server while processing the request. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if region is not connected to the cache because the client cannot establish usable connections to any of the given servers For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>If region destroy is pending. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if operation timed out. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00714.html" title="An unknown exception occurred.">UnknownException</a></td><td>For other exceptions. </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetAll </td>
          <td>(</td>
          <td class="paramtype">System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^&#160;</td>
          <td class="paramname"><em>exceptions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>addToLocalCache</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets values for collection of keys from the local cache or server. </p>
<p>If value for a key is not present locally then it is requested from the java server. The value returned is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods. For local region instance - this method is not applicable. Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and CacheStatistics.HitCount and CacheStatistics.MissCount for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>the collection of keys</td></tr>
    <tr><td class="paramname">values</td><td>output parameter that provides the map of keys to respective values; ignored if NULL; when this is NULL then at least the <code>addToLocalCache</code> parameter should be true and caching should be enabled for the region to get values into the region otherwise an <code><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></code> is thrown. </td></tr>
    <tr><td class="paramname">exceptions</td><td>output parameter that provides the map of keys to any exceptions while obtaining the key; ignored if this is NULL </td></tr>
    <tr><td class="paramname">addToLocalCache</td><td>true if the obtained values have also to be added to the local cache </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the collection of keys is null or empty. Other invalid case is when the <code>values</code> parameter is NULL, and either <code>addToLocalCache</code> is false or caching is disabled for this region. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server while processing the request. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if region is not connected to the cache because the client cannot establish usable connections to any of the given servers For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>If region destroy is pending. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if operation timed out. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00714.html" title="An unknown exception occurred.">UnknownException</a></td><td>For other exceptions. </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetAll </td>
          <td>(</td>
          <td class="paramtype">System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Collections::Generic::IDictionary&lt; TKey, System::Exception^&gt;^&#160;</td>
          <td class="paramname"><em>exceptions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>addToLocalCache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets values for collection of keys from the local cache or server. </p>
<p>If value for a key is not present locally then it is requested from the java server. The value returned is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods. For local region instance - this method is not applicable. Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and CacheStatistics.HitCount and CacheStatistics.MissCount for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>the collection of keys</td></tr>
    <tr><td class="paramname">values</td><td>output parameter that provides the map of keys to respective values; ignored if NULL; when this is NULL then at least the <code>addToLocalCache</code> parameter should be true and caching should be enabled for the region to get values into the region otherwise an <code><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></code> is thrown. </td></tr>
    <tr><td class="paramname">exceptions</td><td>output parameter that provides the map of keys to any exceptions while obtaining the key; ignored if this is NULL </td></tr>
    <tr><td class="paramname">addToLocalCache</td><td>true if the obtained values have also to be added to the local cache </td></tr>
    <tr><td class="paramname">callbackArg</td><td>a user-defined parameter to pass to callback events triggered by this method </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the collection of keys is null or empty. Other invalid case is when the <code>values</code> parameter is NULL, and either <code>addToLocalCache</code> is false or caching is disabled for this region. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server while processing the request. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if region is not connected to the cache because the client cannot establish usable connections to any of the given servers For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>If region destroy is pending. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if operation timed out. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00714.html" title="An unknown exception occurred.">UnknownException</a></td><td>For other exceptions. </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">System::Collections::Generic::ICollection&lt;<a class="el" href="a01006.html">Client::RegionEntry</a>&lt;TKey, TValue&gt;^&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetEntries </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>recursive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the entries in this region. </p>
<p>For both local &amp; distributed region instances, this operation happens in local cache only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">recursive</td><td>if true, also return all nested subregion entries </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>collection of entries</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01006.html">Client::RegionEntry</a>&lt;TKey, TValue&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetEntry </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the meta-object <a class="el" href="a01006.html" title="An object in a region that represents an entry, that is, a key-value pair.">RegionEntry</a> for the given key. </p>
<p>For both local &amp; distributed region instances, this operation happens in local cache only. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key to use</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>region entry object</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>key is null</td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>region has been destroyed </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual System::Collections::Generic::IEnumerator&lt;KeyValuePair&lt;TKey,TValue&gt; &gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetEnumerator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an enumerator that iterates through the collection of the region entries. </p>
<p>This operation is performed entirely in local cache. </p>
<p>The foreach statement of the C# language (for each in C++)hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator. Enumerators can be used to read the data in the collection, but they cannot be used to modify the underlying collection. Initially, the enumerator is positioned before the first element in the collection. At this position, Current is undefined. Therefore, you must call MoveNext to advance the enumerator to the first element of the collection before reading the value of Current. Current returns the same object until MoveNext is called. MoveNext sets Current to the next element. If MoveNext passes the end of the collection, the enumerator is positioned after the last element in the collection and MoveNext returns false. When the enumerator is at this position, subsequent calls to MoveNext also return false. If the last call to MoveNext returned false, Current is undefined. You cannot set Current to the first element of the collection again; you must create a new enumerator instance instead. The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization. Default implementations of collections in the System.Collections.Generic namespace are not synchronized. For both local &amp; distributed region instances, this operation is restricted to local cache only.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">InvalidOperationException</td><td>if enumerator is before or after the collection and Current method is called on it. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Type: System.Collections.Generic.IEnumerator&lt;T&gt;. A IEnumerator&lt;T&gt; that can be used to iterate through the collection. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual System::Collections::IEnumerator ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetEnumeratorOld </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an enumerator that iterates through the collection of the region entries. </p>
<p>This operation is performed entirely in local cache. </p>
<p>The foreach statement of the C# language (for each in C++)hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator. Enumerators can be used to read the data in the collection, but they cannot be used to modify the underlying collection. Initially, the enumerator is positioned before the first element in the collection. At this position, Current is undefined. Therefore, you must call MoveNext to advance the enumerator to the first element of the collection before reading the value of Current. Current returns the same object until MoveNext is called. MoveNext sets Current to the next element. If MoveNext passes the end of the collection, the enumerator is positioned after the last element in the collection and MoveNext returns false. When the enumerator is at this position, subsequent calls to MoveNext also return false. If the last call to MoveNext returned false, Current is undefined. You cannot set Current to the first element of the collection again; you must create a new enumerator instance instead. The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization. For both local &amp; distributed region instances, this operation is restricted to local cache only. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">InvalidOperationException</td><td>if enumerator is before or after the collection and Current method is called on it. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Type: System.Collections.IEnumerator. An IEnumerator object that can be used to iterate through the collection. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01014.html">IRegion</a>&lt;TKey, TValue&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetLocalView </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reteuns an instance of a Region&lt;TKey, TValue&gt; class that executes within a local scope of a process. </p>
<p>This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01014.html">IRegion</a>&lt;TKey, TValue&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetSubRegion </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the subregion identified by the path, null if no such subregion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>path</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>subregion, or null if none</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#a56ef9a9630561d75500fd7c51b230f66" title="Gets the region&#39;s full path, which can be used to get this region object with Cache....">FullPath</a>, <a class="el" href="a01014.html#ae3dedf746ef66858dab5e53df65c0c01" title="Returns the subregions of this region.">SubRegions</a>, <a class="el" href="a01014.html#a5ccaf8c583596816cd62e23678360f23" title="Gets the parent region.">ParentRegion</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01026.html">ISubscriptionService</a>&lt;TKey&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::GetSubscriptionService </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reteuns an instance of a Region&lt;TKey, TValue&gt; class that implements <a class="el" href="a01026.html" title="This generic interface class provides all Register Interest API&#39;s for geode&#39;s generic non local regio...">ISubscriptionService</a> interface This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Invalidate </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalidates the entry with the specified key, passing the callback argument to any cache listeners that are invoked in the operation. </p>
<p>Invalidate only removes the value from the entry &ndash; the key is kept intact. To completely remove the entry, call <a class="el" href="a00382.html#a30c72f6219e29e7305222feb4857caeca0e181f89f47654b86f3beb42f5cc08b8" title="When the region or cached object expires, it is destroyed.">Destroy</a>. </p>
<p>For both local &amp; distributed region instaces, invalidate is not propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key of the value to be invalidated</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null</td></tr>
    <tr><td class="paramname"><a class="el" href="a00722.html" title="Thrown when an operation is attempted on a non-existent entry.">EntryNotFoundException</a></td><td>if this entry does not exist in this region locally </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if the region is destroyed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00382.html#a30c72f6219e29e7305222feb4857caeca0e181f89f47654b86f3beb42f5cc08b8" title="When the region or cached object expires, it is destroyed.">Destroy</a>, <a class="el" href="a00906.html#a42304e13b21f18e5500e3777f08ecbea" title="Handles the event of an entry&#39;s value being invalidated.">ICacheListener.AfterInvalidate</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Invalidate </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalidates the entry with the specified key, passing the callback argument to any cache listeners that are invoked in the operation. </p>
<p>Invalidate only removes the value from the entry &ndash; the key is kept intact. To completely remove the entry, call <a class="el" href="a00382.html#a30c72f6219e29e7305222feb4857caeca0e181f89f47654b86f3beb42f5cc08b8" title="When the region or cached object expires, it is destroyed.">Destroy</a>. </p>
<p>For both local &amp; distributed region instaces, invalidate is not propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>key of the value to be invalidated</td></tr>
    <tr><td class="paramname">callbackArg</td><td>a user-defined parameter to pass to callback events triggered by this method </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null</td></tr>
    <tr><td class="paramname"><a class="el" href="a00722.html" title="Thrown when an operation is attempted on a non-existent entry.">EntryNotFoundException</a></td><td>if this entry does not exist in this region locally </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if the region is destroyed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00382.html#a30c72f6219e29e7305222feb4857caeca0e181f89f47654b86f3beb42f5cc08b8" title="When the region or cached object expires, it is destroyed.">Destroy</a>, <a class="el" href="a00906.html#a42304e13b21f18e5500e3777f08ecbea" title="Handles the event of an entry&#39;s value being invalidated.">ICacheListener.AfterInvalidate</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::InvalidateRegion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalidates this region. </p>
<p>The invalidation will cascade to all the subregions and cached entries. The region and the entries in it will still exist. For local region instance - invalidates this region without distributing to other caches. For distributed region instance - Invalidates this region and this operation is propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>To remove all the entries and the region, use <a class="el" href="a01014.html#a2fe272875b88cc79659999a01536142b" title="Destroys the whole distributed region and provides a user-defined parameter object to any ICacheWrite...">DestroyRegion</a>. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if this region has been destroyed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#a2fe272875b88cc79659999a01536142b" title="Destroys the whole distributed region and provides a user-defined parameter object to any ICacheWrite...">DestroyRegion</a>, <a class="el" href="a00906.html#a8ba27d0c806e945b2150a3b1c4a95896" title="Handles the event of a region being invalidated.">ICacheListener.AfterRegionInvalidate</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::InvalidateRegion </td>
          <td>(</td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalidates this region. </p>
<p>The invalidation will cascade to all the subregions and cached entries. The region and the entries in it will still exist. For local region instance - invalidates this region without distributing to other caches. For distributed region instance - Invalidates this region and this operation is propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>To remove all the entries and the region, use <a class="el" href="a01014.html#a2fe272875b88cc79659999a01536142b" title="Destroys the whole distributed region and provides a user-defined parameter object to any ICacheWrite...">DestroyRegion</a>. </p>
<p>Does not update any <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callbackArg</td><td>user-defined parameter to pass to callback events triggered by this method </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if this region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#a2fe272875b88cc79659999a01536142b" title="Destroys the whole distributed region and provides a user-defined parameter object to any ICacheWrite...">DestroyRegion</a>, <a class="el" href="a00906.html#a8ba27d0c806e945b2150a3b1c4a95896" title="Handles the event of a region being invalidated.">ICacheListener.AfterRegionInvalidate</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Put </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TValue&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts a new value into an entry in this region with the specified key, passing the callback argument to any cache writers and cache listeners that are invoked in the operation. </p>
<p>If there is already an entry associated with the specified key in this region, the entry's previous value is overwritten. The new put value is propogated to the java server to which it is connected. Put is intended for very simple caching situations. In general it is better to create a <code><a class="el" href="a00914.html" title="A data-loading application plug-in that can be installed on a region.">ICacheLoader</a></code> object and allow the cache to manage the creation and loading of objects. For local region instance - Puts a new value into an entry in this region in the local cache only. For distributed region instance - Puts a new value into an entry in this region and this operation is propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and <a class="el" href="a00546.html#aba28f374153f91dca22feb868d9f7642" title="For an entry, returns the time that the entry&#39;s value was last modified.">CacheStatistics.LastModifiedTime</a> for this region and the entry. </p>
<p>If remote server put fails throwing back a <code><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></code> or security exception, then local put is tried to rollback. However, if the entry has overflowed/evicted/expired then the rollback is aborted since it may be due to a more recent notification or update by another thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>a key object associated with the value to be put into this region. </td></tr>
    <tr><td class="paramname">value</td><td>the value to be put into this region</td></tr>
    <tr><td class="paramname">callbackArg</td><td>argument that is passed to the callback functions </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00654.html" title="Thrown when the cache writer aborts the operation.">CacheWriterException</a></td><td>if CacheWriter aborts the operation </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a>, Add</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Put </td>
          <td>(</td>
          <td class="paramtype">TKey&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TValue&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts a new value into an entry in this region with the specified key. </p>
<p>If there is already an entry associated with the specified key in this region, the entry's previous value is overwritten. The new put value is propogated to the java server to which it is connected. Put is intended for very simple caching situations. In general it is better to create a <code><a class="el" href="a00914.html" title="A data-loading application plug-in that can be installed on a region.">ICacheLoader</a></code> object and allow the cache to manage the creation and loading of objects. For local region instance - Puts a new value into an entry in this region in the local cache only. For distributed region instance - Puts a new value into an entry in this region and this operation is propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<p>Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and <a class="el" href="a00546.html#aba28f374153f91dca22feb868d9f7642" title="For an entry, returns the time that the entry&#39;s value was last modified.">CacheStatistics.LastModifiedTime</a> for this region and the entry. </p>
<p>If remote server put fails throwing back a <code><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></code> or security exception, then local put is tried to rollback. However, if the entry has overflowed/evicted/expired then the rollback is aborted since it may be due to a more recent notification or update by another thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>a key object associated with the value to be put into this region </td></tr>
    <tr><td class="paramname">value</td><td>the value to be put into this region</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00654.html" title="Thrown when the cache writer aborts the operation.">CacheWriterException</a></td><td>if CacheWriter aborts the operation </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a>, Add</dd></dl>

</div>
</div>
<a id="afbac1059e1631716e1a43736a3941847"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbac1059e1631716e1a43736a3941847">&#9670;&nbsp;</a></span>PutAll() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::PutAll </td>
          <td>(</td>
          <td class="paramtype">IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>map</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts a (IDictionary) generic collection of key/value pairs in this region. </p>
<p>If there is already an entry associated with any key in the map in this region, the entry's previous value is overwritten. The new values are propogated to the java server to which it is connected. PutAll is intended for speed up large amount of put operation into the same region. For local region instance - this method is not applicable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">map</td><td>A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. Value should not be null in any of the entries. </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if any value in the map is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1" title="Puts a new value into an entry in this region with the specified key, passing the callback argument t...">Put</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::PutAll </td>
          <td>(</td>
          <td class="paramtype">IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts a (IDictionary) generic collection of key/value pairs in this region. </p>
<p>If there is already an entry associated with any key in the map in this region, the entry's previous value is overwritten. The new values are propogated to the java server to which it is connected. PutAll is intended for speed up large amount of put operation into the same region. For local region instance - this method is not applicable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">map</td><td>A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. Value should not be null in any of the entries. </td></tr>
    <tr><td class="paramname">timeout</td><td>The time (in seconds) to wait for the PutAll response. It should be less than or equal to 2^31/1000 i.e. 2147483. Optional. </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If timeout is more than 2^31/1000 i.e. 2147483. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if any value in the map is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1" title="Puts a new value into an entry in this region with the specified key, passing the callback argument t...">Put</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::PutAll </td>
          <td>(</td>
          <td class="paramtype">IDictionary&lt; TKey, TValue &gt;^&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts a (IDictionary) generic collection of key/value pairs in this region. </p>
<p>If there is already an entry associated with any key in the map in this region, the entry's previous value is overwritten. The new values are propogated to the java server to which it is connected. PutAll is intended for speed up large amount of put operation into the same region. For local region instance - this method is not applicable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">map</td><td>A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. Value should not be null in any of the entries. </td></tr>
    <tr><td class="paramname">timeout</td><td>The time (in seconds) to wait for the PutAll response. It should be less than or equal to 2^31/1000 i.e. 2147483. Optional. </td></tr>
    <tr><td class="paramname">callbackArg</td><td>a user-defined parameter to pass to callback events triggered by this method </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If timeout is more than 2^31/1000 i.e. 2147483. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if any value in the map is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#aa665fe92e141439d37aedebeffcafbc1" title="Puts a new value into an entry in this region with the specified key, passing the callback argument t...">Put</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<div class="memtemplate">
template&lt;class TResult &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01002.html">ISelectResults</a>&lt;TResult&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::<a class="el" href="a00586.html">Query</a> </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The SelectResults which can either be a <a class="el" href="a01110.html" title="Encapsulates a query result set.">ResultSet</a> or a <a class="el" href="a01118.html" title="Encapsulates a query struct set.">StructSet</a>. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<div class="memtemplate">
template&lt;class TResult &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01002.html">ISelectResults</a>&lt;TResult&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::<a class="el" href="a00586.html">Query</a> </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute</td></tr>
    <tr><td class="paramname">timeout</td><td>The time (in seconds) to wait for the query response, optional</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The SelectResults which can either be a <a class="el" href="a01110.html" title="Encapsulates a query result set.">ResultSet</a> or a <a class="el" href="a01118.html" title="Encapsulates a query struct set.">StructSet</a>. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::RemoveAll </td>
          <td>(</td>
          <td class="paramtype">System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td>
          <td class="paramname"><em>keys</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes all of the entries for the specified keys from this region. </p>
<p>The effect of this call is equivalent to that of calling <a class="el" href="">destroy(Object)</a> on this region once for each key in the specified collection. If an entry does not exist that key is skipped; <a class="el" href="a00722.html" title="Thrown when an operation is attempted on a non-existent entry.">EntryNotFoundException</a> is not thrown. For local region instance - this method is not applicable. Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and CacheStatistics.HitCount and CacheStatistics.MissCount for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>the collection of keys</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the collection of keys is null or empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server while processing the request. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if region is not connected to the cache because the client cannot establish usable connections to any of the given servers For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>If region destroy is pending. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if operation timed out. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00714.html" title="An unknown exception occurred.">UnknownException</a></td><td>For other exceptions. </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a01014.html#adbac3cb000d22592bdba5f09b8dd7121" title="Returns the value for the given key, passing the callback argument to any cache loaders or that are i...">Get</a></dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::RemoveAll </td>
          <td>(</td>
          <td class="paramtype">System::Collections::Generic::ICollection&lt; TKey &gt;^&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Object^&#160;</td>
          <td class="paramname"><em>callbackArg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes all of the entries for the specified keys from this region. </p>
<p>The effect of this call is equivalent to that of calling <a class="el" href="">remove(Object)</a> on this region once for each key in the specified collection. If an entry does not exist that key is skipped; <a class="el" href="a00722.html" title="Thrown when an operation is attempted on a non-existent entry.">EntryNotFoundException</a> is not thrown. For local region instance - this method is not applicable. Updates the <a class="el" href="a00546.html#a96ebbc337b95fd3760e038e91ab74849" title="For an entry, returns the last time it was accessed via Region.Get.">CacheStatistics.LastAccessedTime</a> and CacheStatistics.HitCount and CacheStatistics.MissCount for this region and the entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>the collection of keys</td></tr>
    <tr><td class="paramname">callbackArg</td><td>an argument that is passed to the callback functions. Optional. </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the collection of keys is null or empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server while processing the request. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if region is not connected to the cache because the client cannot establish usable connections to any of the given servers For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>If region destroy is pending. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if operation timed out. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00714.html" title="An unknown exception occurred.">UnknownException</a></td><td>For other exceptions. </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Remove</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Object ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::SelectValue </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate and returns a single result value. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server, or more than one result items are available. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The single <a class="el" href="a01110.html" title="Encapsulates a query result set.">ResultSet</a> or <a class="el" href="a01118.html" title="Encapsulates a query struct set.">StructSet</a> item, or NULL of no results are available. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Object ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::SelectValue </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TimeSpan&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the query on the server based on the predicate and returns a single result value. </p>
<p>Valid only for a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. This method is applicable only on distributed region &amp; not on local region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">predicate</td><td>The query predicate (just the WHERE clause) or the entire query to execute </td></tr>
    <tr><td class="paramname">timeout</td><td>The time (in seconds) to wait for the query response </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>If the predicate is empty. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00638.html" title="Thrown when the state of cache is manipulated to be illegal.">IllegalStateException</a></td><td>If some error occurred. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00798.html" title="Thrown when query exception occurs at the server.">QueryException</a></td><td>If some query error occurred at the server, or more than one result items are available. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00666.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></td><td>if the cache has been closed </td></tr>
    <tr><td class="paramname">NotSupportedException</td><td>if it is called by local region instance Region.GetLocalView </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The single <a class="el" href="a01110.html" title="Encapsulates a query result set.">ResultSet</a> or <a class="el" href="a01118.html" title="Encapsulates a query struct set.">StructSet</a> item, or NULL of no results are available. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">System::Collections::Generic::ICollection&lt;<a class="el" href="a01014.html">IRegion</a>&lt;TKey, TValue&gt;^&gt; ^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::SubRegions </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>recursive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the subregions of this region. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">recursive</td><td>if true, also return all nested subregions</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>collection of regions</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>this region has already been destroyed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a2b255975462c5dcd9945b99521114642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b255975462c5dcd9945b99521114642">&#9670;&nbsp;</a></span>Attributes</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01010.html">RegionAttributes</a>&lt; TKey, TValue&gt;^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Attributes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the attributes for this region, which can be used to create a new region with Cache.CreateRegion. </p>
<dl class="section return"><dt>Returns</dt><dd>region's attributes </dd></dl>

</div>
</div>
<a id="a0c61844ea2952acdead23dfe537d9568"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c61844ea2952acdead23dfe537d9568">&#9670;&nbsp;</a></span>AttributesMutator</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00402.html">AttributesMutator</a>&lt; TKey, TValue&gt;^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::<a class="el" href="a00402.html">AttributesMutator</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return a mutator object for changing a subset of the region attributes. </p>
<dl class="section return"><dt>Returns</dt><dd>attribute mutator </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if the region has been destroyed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac8efb83e448260639a7e0d0229ac7332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8efb83e448260639a7e0d0229ac7332">&#9670;&nbsp;</a></span>default</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual TValue <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::default[TKey]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the element with the specified key. </p>
<p>This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key]. You can also use the Item property to add new elements by setting the value of a key that does not exist in the dictionary; for example, myCollection["myNonexistentKey"] = myValue However, if the specified key already exists in the dictionary, setting the Item property overwrites the old value. In contrast, the Add method does not modify existing elements. This property is applicable to local as well as distributed region. For local region instance - Puts/Gets a new value into an entry in this region in the local cache only. For distributed region instance - Puts/Gets a new value into an entry in this region and this operation is propogated to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server to which it is connected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The key of the element to get or set. </td></tr>
    <tr><td class="paramname">Property Value</td><td>The element with the specified key. </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00634.html" title="Thrown when an argument to a method is illegal.">IllegalArgumentException</a></td><td>if key is null </td></tr>
    <tr><td class="paramname"><a class="el" href="a00858.html" title="Thrown if a Key is not present in the region.">KeyNotFoundException</a></td><td>If given key was not present in the region and if region is not in secure mode, or if <a class="el" href="a01070.html" title="A pool of connections.">Pool</a> attached with Region is not in multiusersecure mode. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00722.html" title="Thrown when an operation is attempted on a non-existent entry.">EntryNotFoundException</a></td><td>if given key's value is null. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00654.html" title="Thrown when the cache writer aborts the operation.">CacheWriterException</a></td><td>if CacheWriter aborts the operation </td></tr>
    <tr><td class="paramname"><a class="el" href="a00658.html" title="Thrown when the cache listener throws an exception.">CacheListenerException</a></td><td>if CacheListener throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if region has been destroyed </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if the operation timed out </td></tr>
    <tr><td class="paramname"><a class="el" href="a00750.html" title="Thrown when the system cannot allocate any more memory.">OutOfMemoryException</a></td><td>if there is not enough memory for the value </td></tr>
    <tr><td class="paramname"><a class="el" href="a00674.html" title="Thrown when the cache loader aborts the operation.">CacheLoaderException</a></td><td>if <a class="el" href="a00910.html" title="CacheLoader">CacheLoader</a> throws an exception </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a56ef9a9630561d75500fd7c51b230f66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56ef9a9630561d75500fd7c51b230f66">&#9670;&nbsp;</a></span>FullPath</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">String^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::FullPath</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the region's full path, which can be used to get this region object with <a class="el" href="a00410.html#aed71aeab49e1fba5f4f20fc8b65e85d3" title="Returns an existing region given the full path from root, or null if no such region exists.">Cache.GetRegion</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>region's pathname </dd></dl>

</div>
</div>
<a id="a56ea2ac1c207aff611fe1c63c9151764"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56ea2ac1c207aff611fe1c63c9151764">&#9670;&nbsp;</a></span>IsDestroyed</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::IsDestroyed</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>True if this region has been destroyed. </p>
<dl class="section return"><dt>Returns</dt><dd>true if destroyed</dd></dl>

</div>
</div>
<a id="af76c6949b540d8006c11640efcc0c462"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af76c6949b540d8006c11640efcc0c462">&#9670;&nbsp;</a></span>IsReadOnly</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::IsReadOnly</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This property throws NotImplementedException when called by both local and distributed region instances. </p>

</div>
</div>
<a id="a27fd97274cc56fd647c2184aac81889f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27fd97274cc56fd647c2184aac81889f">&#9670;&nbsp;</a></span>Keys</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual System:: Collections:: Generic:: ICollection&lt; TKey&gt;^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Keys</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets an ICollection containing the keys of the IDictionary Returns all the keys for this region. </p>
<p>This includes keys for which the entry is invalid. For local region instance - gets collection of keys from local cache only. For distributed region instance - gets collection of keys from the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> cache server. </p>
<dl class="section return"><dt>Returns</dt><dd>collection of keys</dd></dl>
<p>&lt;remark&gt; The order of the keys in the returned ICollection is unspecified, but it is guaranteed to be the same order as the corresponding values in the ICollection returned by the Values property. &lt;/remark&gt; </p><dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00702.html" title="Thrown when an operation unsupported by the current configuration is attempted.">UnsupportedOperationException</a></td><td>if the member type is not <code><a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a></code> or region is not a Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> region. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00790.html" title="Thrown when an exception occurs on the cache server.">CacheServerException</a></td><td>If an exception is received from the Java cache server. Only for Native <a class="el" href="a00382.html" title="This namespace contains all the Geode .NET Generics API classes and enumerations.">Client</a> regions. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a></td><td>if not connected to the <a class="el" href="a00381.html" title="This namespace contains all the Geode .NET classes and utility classes.">Geode</a> system because the client cannot establish usable connections to any of the servers given to it. For pools configured with locators, if no locators are available, innerException of <a class="el" href="a00742.html" title="Thrown when an operation is attempted before connecting to the distributed system.">NotConnectedException</a> is set to <a class="el" href="a00822.html" title="Thrown when a client is unable to contact any locators.">NoAvailableLocatorsException</a>. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00802.html" title="Thrown when an unknown message is received from the server.">MessageException</a></td><td>If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. </td></tr>
    <tr><td class="paramname"><a class="el" href="a00650.html" title="Thrown when a timout occurs.">TimeoutException</a></td><td>if there is a timeout getting the keys </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad405db32531da4d1a1fedbb3bd4e58f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad405db32531da4d1a1fedbb3bd4e58f7">&#9670;&nbsp;</a></span>Name</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">String^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Name</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the region name. </p>
<dl class="section return"><dt>Returns</dt><dd>region's name </dd></dl>

</div>
</div>
<a id="a5ccaf8c583596816cd62e23678360f23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ccaf8c583596816cd62e23678360f23">&#9670;&nbsp;</a></span>ParentRegion</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01014.html">IRegion</a>&lt; TKey, TValue&gt;^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::ParentRegion</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the parent region. </p>
<dl class="section return"><dt>Returns</dt><dd>region's parent, if any, or null if this is a root region </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00678.html" title="Thrown when an operation is attempted on a destroyed region.">RegionDestroyedException</a></td><td>if the region has been destroyed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a97e60e3d79e57ab4ab0242e8f8dc88b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97e60e3d79e57ab4ab0242e8f8dc88b3">&#9670;&nbsp;</a></span>RegionService</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache:: Geode:: Client:: <a class="el" href="a01018.html">IRegionService</a>^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::RegionService</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the RegionService for this region. </p>
<dl class="section return"><dt>Returns</dt><dd>RegionService</dd></dl>

</div>
</div>
<a id="afa19705f8a6b1866f20768c4256715ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa19705f8a6b1866f20768c4256715ae">&#9670;&nbsp;</a></span>Statistics</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00546.html">CacheStatistics</a>^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Statistics</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the statistics for this region. </p>
<dl class="section return"><dt>Returns</dt><dd>the <code><a class="el" href="a00546.html" title="Defines common statistical information for both the region and its entries.">CacheStatistics</a></code> for this region</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00706.html" title="Thrown when statistics are invoked for a region where they are disabled.">StatisticsDisabledException</a></td><td>if statistics have been disabled for this region </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab086a96e9396bba1a1b67bd6f017af91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab086a96e9396bba1a1b67bd6f017af91">&#9670;&nbsp;</a></span>Values</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TKey , class TValue &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual System:: Collections:: Generic:: ICollection&lt; TValue&gt;^ <a class="el" href="a01014.html">Apache::Geode::Client::IRegion</a>&lt; TKey, TValue &gt;::Values</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets an ICollection containing the values in the IDictionary. </p>
<p>Returns all values in the local process for this region. No value is included for entries that are invalidated. For both local &amp; distributed region instances, this operation is always local only. </p>
<dl class="section return"><dt>Returns</dt><dd>collection of values</dd></dl>
<p>&lt;remark&gt; The order of the values in the returned ICollection is unspecified, but it is guaranteed to be the same order as the corresponding keys in the ICollection returned by the Keys property. &lt;/remark&gt; </p>

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