<!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</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_o.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">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div>

<h3><a id="index_o"></a>- o -</h3><ul>
<li>ObjectSize
: <a class="el" href="a00462.html#a47fc284c4d0a3ebabca4b7a84edb401b">Apache::Geode::Client::CacheableDate</a>
, <a class="el" href="a00470.html#a629cb23fc0a38f199627c18991bb64e6">Apache::Geode::Client::CacheableHashMap</a>
, <a class="el" href="a00518.html#aeb1af9752adf831ebb0f2d983a786cbd">Apache::Geode::Client::CacheableStack</a>
, <a class="el" href="a00530.html#a0c4cdef736621f9044cfd09c99b41c66">Apache::Geode::Client::CacheableUndefined</a>
, <a class="el" href="a00534.html#aac492c569d5d3384269fe63562d729e4">Apache::Geode::Client::CacheableVector</a>
, <a class="el" href="a01022.html#a961265733e9d83372f8facb7d88b4c78">Apache::Geode::Client::ISerializable</a>
, <a class="el" href="a00406.html#a05dc809015de6cd26151084bb8df65e8">Apache::Geode::Client::Properties&lt; TPropKey, TPropValue &gt;</a>
, <a class="el" href="a01010.html#ac92a87c78cc194caa5959a15f7dc0cf8">Apache::Geode::Client::RegionAttributes&lt; TKey, TValue &gt;</a>
, <a class="el" href="a01114.html#af073822a47dac5d41afb64df6ad52fee">Apache::Geode::Client::Serializable</a>
</li>
<li>OldValue
: <a class="el" href="a00618.html#ab62d78e9c6e0d238cae281e1461c4d43">Apache::Geode::Client::EntryEvent&lt; TKey, TValue &gt;</a>
</li>
<li>OnClientDisconnectClearPdxTypeIds
: <a class="el" href="a01126.html#a52733854d1cbb29256bad6f38f92e765">Apache::Geode::Client::SystemProperties</a>
</li>
<li>OnCqConnected()
: <a class="el" href="a00930.html#a1a9b91e812bdf95a4289c50f7bfafad7">Apache::Geode::Client::ICqStatusListener&lt; TKey, TResult &gt;</a>
</li>
<li>OnCqDisconnected()
: <a class="el" href="a00930.html#ab3d68ee19defcf567a6d08db00fdf734">Apache::Geode::Client::ICqStatusListener&lt; TKey, TResult &gt;</a>
</li>
<li>OnError()
: <a class="el" href="a00558.html#af67d5c0e053a210558bf59a3b9c5f47a">Apache::Geode::Client::ICqListener&lt; TKey, TResult &gt;</a>
</li>
<li>OnEvent()
: <a class="el" href="a00558.html#a4aa4d46fc33044d7a5d79d27dcfc0b2e">Apache::Geode::Client::ICqListener&lt; TKey, TResult &gt;</a>
</li>
<li>OnRegion()
: <a class="el" href="a00890.html#a83b57f83b4747f1d38d70a25c1cfd37f">Apache::Geode::Client::FunctionService&lt; TResult &gt;</a>
</li>
<li>OnServer()
: <a class="el" href="a00890.html#aa2e473877aa6aca5c0a89cdfe5cbf2f8">Apache::Geode::Client::FunctionService&lt; TResult &gt;</a>
</li>
<li>OnServers()
: <a class="el" href="a00890.html#ac71d9a2c6ac3649263bc5a56c3089082">Apache::Geode::Client::FunctionService&lt; TResult &gt;</a>
</li>
<li>operator bool()
: <a class="el" href="a00426.html#a1b80fd60a5eee89916a07b943120516d">Apache::Geode::Client::CacheableBoolean</a>
</li>
<li>operator Byte()
: <a class="el" href="a00430.html#ab1442454d47e3158e803915582e3c76d">Apache::Geode::Client::CacheableByte</a>
</li>
<li>operator CacheableKey^()
: <a class="el" href="a00498.html#a1a70369be59b5a8541c506910b6e5e71">Apache::Geode::Client::CacheableKey</a>
</li>
<li>operator Char()
: <a class="el" href="a00434.html#af243574acd427b69e2c794312ed6744f">Apache::Geode::Client::CacheableCharacter</a>
</li>
<li>operator Double()
: <a class="el" href="a00438.html#ab39143f624c83904661950c0f62691f2">Apache::Geode::Client::CacheableDouble</a>
</li>
<li>operator Single()
: <a class="el" href="a00442.html#af3775f0dc7dce2ed957c6f9db2e8b2b4">Apache::Geode::Client::CacheableFloat</a>
</li>
<li>operator String ^()
: <a class="el" href="a00522.html#af788f48e6c0308df9332af483ede3f15">Apache::Geode::Client::CacheableString</a>
</li>
<li>operator System::Int16()
: <a class="el" href="a00446.html#aa935ff97ba01d5d813b9f63bfce3366c">Apache::Geode::Client::CacheableInt16</a>
</li>
<li>operator System::Int32()
: <a class="el" href="a00450.html#a0bc57dcc412c2d5c6e80cea4ad9b87f0">Apache::Geode::Client::CacheableInt32</a>
</li>
<li>operator System::Int64()
: <a class="el" href="a00454.html#ac4253fdd5e5b2613b6dbbeb22f507bb3">Apache::Geode::Client::CacheableInt64</a>
</li>
<li>operator==()
: <a class="el" href="a00418.html#af58568d503b71f832b3c46387de3211e">Apache::Geode::Client::CacheableBuiltinKey&lt; TNative, TManaged, TYPEID &gt;</a>
</li>
<li>OutOfMemoryException()
: <a class="el" href="a00750.html#ab4296977702320ef238f4d588233672c">Apache::Geode::Client::OutOfMemoryException</a>
</li>
<li>OutOfRangeException()
: <a class="el" href="a00794.html#ad8d1a737dd2e505d132b0a4e2749c6bb">Apache::Geode::Client::OutOfRangeException</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>
