<!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::CacheableBuiltinArray&lt; TNative, TNativePtr, TManaged, TYPEID &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('a00422.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="#pro-methods">Protected Member Functions</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">Apache::Geode::Client::CacheableBuiltinArray&lt; TNative, TNativePtr, TManaged, TYPEID &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>An immutable template array wrapper that can serve as a distributable object for caching.  
 <a href="a00422.html#details">More...</a></p>

<p>Inherits Apache::Geode::Client::IDataSerializablePrimitive.</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:ab8b28a924b843eefd2a668687d291d44"><td class="memItemLeft" align="right" valign="top">virtual String ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#ab8b28a924b843eefd2a668687d291d44">ToString</a> () override</td></tr>
<tr class="memdesc:ab8b28a924b843eefd2a668687d291d44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of the object.  <a href="#ab8b28a924b843eefd2a668687d291d44">More...</a><br /></td></tr>
<tr class="separator:ab8b28a924b843eefd2a668687d291d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:accc4c5ad1f623935e160da91474611f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#accc4c5ad1f623935e160da91474611f4">CacheableBuiltinArray</a> ()</td></tr>
<tr class="memdesc:accc4c5ad1f623935e160da91474611f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protected constructor  <a href="#accc4c5ad1f623935e160da91474611f4">More...</a><br /></td></tr>
<tr class="separator:accc4c5ad1f623935e160da91474611f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2267f87310084984b0f1e37a4c41b12c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a2267f87310084984b0f1e37a4c41b12c">CacheableBuiltinArray</a> (std::shared_ptr&lt; native::Serializable &gt; nptr)</td></tr>
<tr class="memdesc:a2267f87310084984b0f1e37a4c41b12c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protected constructor to wrap a native object pointer  <a href="#a2267f87310084984b0f1e37a4c41b12c">More...</a><br /></td></tr>
<tr class="separator:a2267f87310084984b0f1e37a4c41b12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb8a6cc98792c08098ddd8b3f20d069e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#abb8a6cc98792c08098ddd8b3f20d069e">CacheableBuiltinArray</a> (array&lt; TManaged &gt;^ buffer)</td></tr>
<tr class="memdesc:abb8a6cc98792c08098ddd8b3f20d069e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new instance copying from the given array.  <a href="#abb8a6cc98792c08098ddd8b3f20d069e">More...</a><br /></td></tr>
<tr class="separator:abb8a6cc98792c08098ddd8b3f20d069e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42b3519ae4854f2030363342a96a0cfd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a42b3519ae4854f2030363342a96a0cfd">CacheableBuiltinArray</a> (array&lt; TManaged &gt;^ buffer, System::Int32 length)</td></tr>
<tr class="memdesc:a42b3519ae4854f2030363342a96a0cfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new instance copying given length from the start of given array.  <a href="#a42b3519ae4854f2030363342a96a0cfd">More...</a><br /></td></tr>
<tr class="separator:a42b3519ae4854f2030363342a96a0cfd"><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:a4c2e6833ba1b26684adc15ba5da71716"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a4c2e6833ba1b26684adc15ba5da71716">DsCode</a><code> [get]</code></td></tr>
<tr class="memdesc:a4c2e6833ba1b26684adc15ba5da71716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the classId of the instance being serialized.  <a href="#a4c2e6833ba1b26684adc15ba5da71716">More...</a><br /></td></tr>
<tr class="separator:a4c2e6833ba1b26684adc15ba5da71716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31a435996e290018ff21c20a6ae44f14"><td class="memItemLeft" align="right" valign="top">TManaged&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a31a435996e290018ff21c20a6ae44f14">Item</a><code> [get]</code></td></tr>
<tr class="memdesc:a31a435996e290018ff21c20a6ae44f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value at the given index.  <a href="#a31a435996e290018ff21c20a6ae44f14">More...</a><br /></td></tr>
<tr class="separator:a31a435996e290018ff21c20a6ae44f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74d8b81e5c7c0c71ed820e6d8576b9f6"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a74d8b81e5c7c0c71ed820e6d8576b9f6">Length</a><code> [get]</code></td></tr>
<tr class="memdesc:a74d8b81e5c7c0c71ed820e6d8576b9f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of this array.  <a href="#a74d8b81e5c7c0c71ed820e6d8576b9f6">More...</a><br /></td></tr>
<tr class="separator:a74d8b81e5c7c0c71ed820e6d8576b9f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a01df17f6bfa91fd880e9b6493b6783"><td class="memItemLeft" align="right" valign="top">array&lt; TManaged &gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00422.html#a8a01df17f6bfa91fd880e9b6493b6783">Value</a><code> [get]</code></td></tr>
<tr class="memdesc:a8a01df17f6bfa91fd880e9b6493b6783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the underlying array.  <a href="#a8a01df17f6bfa91fd880e9b6493b6783">More...</a><br /></td></tr>
<tr class="separator:a8a01df17f6bfa91fd880e9b6493b6783"><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;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt;<br />
class Apache::Geode::Client::CacheableBuiltinArray&lt; TNative, TNativePtr, TManaged, TYPEID &gt;</h3>

<p>An immutable template array wrapper that can serve as a distributable object for caching. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="accc4c5ad1f623935e160da91474611f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accc4c5ad1f623935e160da91474611f4">&#9670;&nbsp;</a></span>CacheableBuiltinArray() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::<a class="el" href="a00422.html">CacheableBuiltinArray</a> </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">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Protected constructor </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::<a class="el" href="a00422.html">CacheableBuiltinArray</a> </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; native::Serializable &gt;&#160;</td>
          <td class="paramname"><em>nptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Protected constructor to wrap a native object pointer </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nativeptr</td><td>The native object pointer</td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::<a class="el" href="a00422.html">CacheableBuiltinArray</a> </td>
          <td>(</td>
          <td class="paramtype">array&lt; TManaged &gt;^&#160;</td>
          <td class="paramname"><em>buffer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates a new instance copying from the given array. </p>
<p>This method performs no argument checking which is the responsibility of the caller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>the array to copy from</td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::<a class="el" href="a00422.html">CacheableBuiltinArray</a> </td>
          <td>(</td>
          <td class="paramtype">array&lt; TManaged &gt;^&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">System::Int32&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates a new instance copying given length from the start of given array. </p>
<p>This method performs no argument checking which is the responsibility of the caller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>the array to copy from</td></tr>
    <tr><td class="paramname">length</td><td>length of array from start to copy</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab8b28a924b843eefd2a668687d291d44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8b28a924b843eefd2a668687d291d44">&#9670;&nbsp;</a></span>ToString()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual String ^ <a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::ToString </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">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return a string representation of the object. </p>

<p>Implements <a class="el" href="a01022.html#a335290fd15fd41d39bc73a7ca10d19bd">Apache::Geode::Client::ISerializable</a>.</p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t <a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::DsCode</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 classId of the instance being serialized. </p>
<p>This is used by deserialization to determine what instance type to create and deserialize into. </p>
<dl class="section return"><dt>Returns</dt><dd>the classId</dd></dl>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">TManaged <a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::Item</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 value at the given index. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">System:: Int32 <a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::Length</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 size of this array. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TNative, typename TNativePtr, typename TManaged, int8_t TYPEID&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">array&lt; TManaged&gt;^ <a class="el" href="a00422.html">Apache::Geode::Client::CacheableBuiltinArray</a>&lt; TNative, TNativePtr, TManaged, TYPEID &gt;::Value</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 a copy of the underlying array. </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>
