<!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::CacheableObjectArray Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native .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('a00510.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Apache::Geode::Client::CacheableObjectArray Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A mutable <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> object array wrapper that can serve as a distributable object for caching.  
 <a href="a00510.html#details">More...</a></p>

<p>Inherits List&lt; Object^&gt;, and 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:aaa4fa728c6fe6281ebe54534eea3e313"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#aaa4fa728c6fe6281ebe54534eea3e313">CacheableObjectArray</a> ()</td></tr>
<tr class="memdesc:aaa4fa728c6fe6281ebe54534eea3e313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new empty instance.  <a href="#aaa4fa728c6fe6281ebe54534eea3e313">More...</a><br /></td></tr>
<tr class="separator:aaa4fa728c6fe6281ebe54534eea3e313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27b71f918dfab1e5ff960e3389ecbd76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#a27b71f918dfab1e5ff960e3389ecbd76">CacheableObjectArray</a> (IEnumerable&lt; Object^&gt;^ collection)</td></tr>
<tr class="memdesc:a27b71f918dfab1e5ff960e3389ecbd76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new instance copying from the given collection.  <a href="#a27b71f918dfab1e5ff960e3389ecbd76">More...</a><br /></td></tr>
<tr class="separator:a27b71f918dfab1e5ff960e3389ecbd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c32422f32daba708bc4558074fd49c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#a23c32422f32daba708bc4558074fd49c">CacheableObjectArray</a> (System::Int32 capacity)</td></tr>
<tr class="memdesc:a23c32422f32daba708bc4558074fd49c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a new empty instance with given initial size.  <a href="#a23c32422f32daba708bc4558074fd49c">More...</a><br /></td></tr>
<tr class="separator:a23c32422f32daba708bc4558074fd49c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335290fd15fd41d39bc73a7ca10d19bd"><td class="memItemLeft" align="right" valign="top">String ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01022.html#a335290fd15fd41d39bc73a7ca10d19bd">ToString</a> ()</td></tr>
<tr class="memdesc:a335290fd15fd41d39bc73a7ca10d19bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of the object.  <a href="#a335290fd15fd41d39bc73a7ca10d19bd">More...</a><br /></td></tr>
<tr class="separator:a335290fd15fd41d39bc73a7ca10d19bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0a20f2db96d99804e6a59d31c4ce2423"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#a0a20f2db96d99804e6a59d31c4ce2423">Create</a> ()</td></tr>
<tr class="memdesc:a0a20f2db96d99804e6a59d31c4ce2423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static function to create a new empty instance.  <a href="#a0a20f2db96d99804e6a59d31c4ce2423">More...</a><br /></td></tr>
<tr class="separator:a0a20f2db96d99804e6a59d31c4ce2423"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4317b6d3decada1e874ad3add57d91a5"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#a4317b6d3decada1e874ad3add57d91a5">Create</a> (IEnumerable&lt; Object^&gt;^ collection)</td></tr>
<tr class="memdesc:a4317b6d3decada1e874ad3add57d91a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static function to create a new instance copying from the given collection.  <a href="#a4317b6d3decada1e874ad3add57d91a5">More...</a><br /></td></tr>
<tr class="separator:a4317b6d3decada1e874ad3add57d91a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05112efa1e0ce696c1a9b16deb52c4c4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#a05112efa1e0ce696c1a9b16deb52c4c4">Create</a> (System::Int32 capacity)</td></tr>
<tr class="memdesc:a05112efa1e0ce696c1a9b16deb52c4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static function to create a new instance with given initial size.  <a href="#a05112efa1e0ce696c1a9b16deb52c4c4">More...</a><br /></td></tr>
<tr class="separator:a05112efa1e0ce696c1a9b16deb52c4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd49f0594dad4d51fe7b2d9fbc190a4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a01022.html">ISerializable</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00510.html#abfd49f0594dad4d51fe7b2d9fbc190a4">CreateDeserializable</a> ()</td></tr>
<tr class="memdesc:abfd49f0594dad4d51fe7b2d9fbc190a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factory function to register this class.  <a href="#abfd49f0594dad4d51fe7b2d9fbc190a4">More...</a><br /></td></tr>
<tr class="separator:abfd49f0594dad4d51fe7b2d9fbc190a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A mutable <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> object array wrapper that can serve as a distributable object for caching. </p>
<p>Though this class provides compatibility with java Object[] serialization, it provides the semantics of .NET generic <code>List</code> class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aaa4fa728c6fe6281ebe54534eea3e313"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa4fa728c6fe6281ebe54534eea3e313">&#9670;&nbsp;</a></span>CacheableObjectArray() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache::Geode::Client::CacheableObjectArray::CacheableObjectArray </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates a new empty instance. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache::Geode::Client::CacheableObjectArray::CacheableObjectArray </td>
          <td>(</td>
          <td class="paramtype">IEnumerable&lt; Object^&gt;^&#160;</td>
          <td class="paramname"><em>collection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates a new instance copying from the given collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">collection</td><td>The collection whose elements are copied to this list. </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Apache::Geode::Client::CacheableObjectArray::CacheableObjectArray </td>
          <td>(</td>
          <td class="paramtype">System::Int32&#160;</td>
          <td class="paramname"><em>capacity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates a new empty instance with given initial size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">capacity</td><td>The initial capacity of the vector. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a0a20f2db96d99804e6a59d31c4ce2423"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a20f2db96d99804e6a59d31c4ce2423">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^ Apache::Geode::Client::CacheableObjectArray::Create </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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static function to create a new empty instance. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^ Apache::Geode::Client::CacheableObjectArray::Create </td>
          <td>(</td>
          <td class="paramtype">IEnumerable&lt; Object^&gt;^&#160;</td>
          <td class="paramname"><em>collection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static function to create a new instance copying from the given collection. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00510.html">CacheableObjectArray</a> ^ Apache::Geode::Client::CacheableObjectArray::Create </td>
          <td>(</td>
          <td class="paramtype">System::Int32&#160;</td>
          <td class="paramname"><em>capacity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static function to create a new instance with given initial size. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a01022.html">ISerializable</a> ^ Apache::Geode::Client::CacheableObjectArray::CreateDeserializable </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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Factory function to register this class. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">String ^ Apache::Geode::Client::ISerializable::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">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>Implemented in <a class="el" href="a00422.html#ab8b28a924b843eefd2a668687d291d44">Apache::Geode::Client::CacheableBuiltinArray&lt; TNative, TNativePtr, TManaged, TYPEID &gt;</a>, <a class="el" href="a00422.html#ab8b28a924b843eefd2a668687d291d44">Apache::Geode::Client::CacheableBuiltinArray&lt; NativeArray, NativeArray, ManagedType, DsCode &gt;</a>, <a class="el" href="a00406.html#a3d05e2243bcdfd0e4a3ad715bc6ccc07">Apache::Geode::Client::Properties&lt; TPropKey, TPropValue &gt;</a>, <a class="el" href="a00406.html#a3d05e2243bcdfd0e4a3ad715bc6ccc07">Apache::Geode::Client::Properties&lt; String^, String^&gt;</a>, <a class="el" href="a00462.html#ad2444cf71a9a38173aceab2f04dd971b">Apache::Geode::Client::CacheableDate</a>, <a class="el" href="a00522.html#a5bbf6e7b40afcdb5f34d7c26fb14b5ca">Apache::Geode::Client::CacheableString</a>, <a class="el" href="a00526.html#a778f034e0dcec70fa8f9f18ba1546ee4">Apache::Geode::Client::CacheableStringArray</a>, <a class="el" href="a01114.html#aab399122dadac5f60090908915eb174e">Apache::Geode::Client::Serializable</a>, <a class="el" href="a00514.html#acb81de701828d0a509b62c2df1cb9be4">Apache::Geode::Client::CacheableObjectXml</a>, <a class="el" href="a00506.html#a76344b40a20a6ac6b207d71210bdc0c6">Apache::Geode::Client::CacheableObject</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; TNative, TManaged, TYPEID &gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableInt32, System::Int32, static_cast&lt; int8_t &gt;(DSCode::CacheableInt32)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableInt16, System::Int16, static_cast&lt; int8_t &gt;(DSCode::CacheableInt16)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableCharacter, Char, static_cast&lt; int8_t &gt;(DSCode::CacheableCharacter)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableFloat, Single, static_cast&lt; int8_t &gt;(DSCode::CacheableFloat)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableInt64, System::Int64, static_cast&lt; int8_t &gt;(DSCode::CacheableInt64)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableDouble, Double, static_cast&lt; int8_t &gt;(DSCode::CacheableDouble)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableByte, Byte, static_cast&lt; int8_t &gt;(DSCode::CacheableByte)&gt;</a>, <a class="el" href="a00418.html#a93998b074515d5609416e8a633e71333">Apache::Geode::Client::CacheableBuiltinKey&lt; native::CacheableBoolean, bool, static_cast&lt; int8_t &gt;(DSCode::CacheableBoolean)&gt;</a>, and <a class="el" href="a00466.html#a70b00e8aa0f34bbbbfb07aabf3c4b67a">Apache::Geode::Client::CacheableFileName</a>.</p>

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