<!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: Data Fields - Variables</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('functions_vars.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="contents">
&#160;

<h3><a id="index_b"></a>- b -</h3><ul>
<li>BooleanArray
: <a class="el" href="a00894.html#aa690edb9a1da2ea934c2485b534af876">Apache::Geode::Client::GeodeClassIds</a>
</li>
</ul>


<h3><a id="index_c"></a>- c -</h3><ul>
<li>CacheableArrayList
: <a class="el" href="a00894.html#adb933480749b6e00b10828e90ef37ecc">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableASCIIString
: <a class="el" href="a00894.html#a98cb05bf00c88a8567e5e76ae442e12e">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableASCIIStringHuge
: <a class="el" href="a00894.html#ab2959bba01acf39cb32568bd10fb46bb">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableBoolean
: <a class="el" href="a00894.html#a90bab463e514fd573f15d5b5b25002c1">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableByte
: <a class="el" href="a00894.html#afc922f896ad1a63a4a30f622d67c6f4a">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableBytes
: <a class="el" href="a00894.html#adaa25f25bbac4a14d2862de30ce131d6">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableCharacter
: <a class="el" href="a00894.html#a02454f1aad1aa4e08747c1b624bbd992">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableDate
: <a class="el" href="a00894.html#a3d3ebdd6e6eddaef2110014e1c3ab6c9">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableDouble
: <a class="el" href="a00894.html#a2016a0594743d3d916b2e558cc4ca033">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableDoubleArray
: <a class="el" href="a00894.html#a5d7322e726eeb8246e38752037905dd6">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableFileName
: <a class="el" href="a00894.html#a384419c7e62ae7c7c7682fadf98a4c8e">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableFloat
: <a class="el" href="a00894.html#a8231ef5a6733964dae6e26bd72449ffe">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableFloatArray
: <a class="el" href="a00894.html#aea687f9e2285ba08ca9cda6b575e9927">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableHashMap
: <a class="el" href="a00894.html#a0b473379f35a82daff2f925fd2f8e4a6">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableHashSet
: <a class="el" href="a00894.html#afdb91f149a299cdc282baf7726e60317">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableHashTable
: <a class="el" href="a00894.html#a9e2c4debd079531fdc6d1528b54bec86">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableIdentityHashMap
: <a class="el" href="a00894.html#aaebea9d78549bcd1856b9fc82e8c8189">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt16
: <a class="el" href="a00894.html#ac3e81fbab9be1bcd1a63d55e1c9835f6">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt16Array
: <a class="el" href="a00894.html#a1fb4d4078255067bc81dcb78db4b0c2f">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt32
: <a class="el" href="a00894.html#a789eeb53054a34f76c6782fa12ea4914">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt32Array
: <a class="el" href="a00894.html#a5f172901b8a151b659037271a7690eb1">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt64
: <a class="el" href="a00894.html#a901e916064b95985892e0347976da0e2">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableInt64Array
: <a class="el" href="a00894.html#ad597e5a554fe05df7de404b56a468a7a">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableLinkedHashSet
: <a class="el" href="a00894.html#a94654731cf8ed2f50c8aff751b22ebf0">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableLinkedList
: <a class="el" href="a00894.html#afcc27a6ffc952ab2ee394a5c661c4883">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableManagedObject
: <a class="el" href="a00894.html#acf773e8b2a7aec902cb761fc9c76902f">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableManagedObjectXml
: <a class="el" href="a00894.html#a1a001d6c4c01c40d78dad533b8b517cf">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableNullString
: <a class="el" href="a00894.html#a6b9210dfea78462633ab35e7ddb3bb2c">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableObjectArray
: <a class="el" href="a00894.html#ab9a20a2ef99b2a72a79d46a94b8d6342">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableStack
: <a class="el" href="a00894.html#abc7fb1d17ce3847c3509467e23e76c97">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableString
: <a class="el" href="a00894.html#a2944bb25635b5690c203f57acc4d84ac">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableStringArray
: <a class="el" href="a00894.html#a5e7764e9cdf2d8db0a27a3c3ef8dd6e7">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableStringHuge
: <a class="el" href="a00894.html#a426680c36be5dd39d21801d97cd34450">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableTimeUnit
: <a class="el" href="a00894.html#aa5dfb74a2440397291e700fe1ddac53e">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableUndefined
: <a class="el" href="a00894.html#ab4643b1b74017a2e0ed7aa1834352629">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CacheableVector
: <a class="el" href="a00894.html#ad99bb4ba1405d1c3625e0c0115d25e01">Apache::Geode::Client::GeodeClassIds</a>
</li>
<li>CharArray
: <a class="el" href="a00894.html#a47c0fc59294ba017ffb7ae469ebbcc1f">Apache::Geode::Client::GeodeClassIds</a>
</li>
</ul>


<h3><a id="index_e"></a>- e -</h3><ul>
<li>EpochTime
: <a class="el" href="a00462.html#aa2b8d76a1a5f89490c9aa2113a34bceb">Apache::Geode::Client::CacheableDate</a>
</li>
</ul>


<h3><a id="index_p"></a>- p -</h3><ul>
<li>Properties
: <a class="el" href="a00894.html#ac663eeadd2ee1742d883f4a44072a815">Apache::Geode::Client::GeodeClassIds</a>
</li>
</ul>


<h3><a id="index_s"></a>- s -</h3><ul>
<li>Struct
: <a class="el" href="a00894.html#abae7ff20d44ebad0013111bc07d0a863">Apache::Geode::Client::GeodeClassIds</a>
</li>
</ul>
</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>
