<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.5.0.final/cppdoc/namespacemembers_eval.html" />
<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.9.1"/>
<title>&nbsp; Apache Ignite C++: Namespace Members</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="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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></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="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">&nbsp; Apache Ignite C++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
      <li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="navrow3" class="tabs2">
    <ul class="tablist">
      <li><a href="namespacemembers.html"><span>All</span></a></li>
      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
      <li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
      <li class="current"><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<!-- 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;<ul>
<li>IGNITE_COLLECTION_ARRAY_LIST
: <a class="el" href="namespaceignite_1_1binary.html#ae9821cfa92cb2dba6f3d6cbc781feb3fa9c95c3bd6a73e8671e218fa0af90b3a3">ignite::binary</a>
</li>
<li>IGNITE_COLLECTION_HASH_SET
: <a class="el" href="namespaceignite_1_1binary.html#ae9821cfa92cb2dba6f3d6cbc781feb3fabd466e7b4c67a6ff8109ccc64e2f5c85">ignite::binary</a>
</li>
<li>IGNITE_COLLECTION_LINKED_HASH_SET
: <a class="el" href="namespaceignite_1_1binary.html#ae9821cfa92cb2dba6f3d6cbc781feb3fa0436f68eef3d39623b9139be24b4d00f">ignite::binary</a>
</li>
<li>IGNITE_COLLECTION_LINKED_LIST
: <a class="el" href="namespaceignite_1_1binary.html#ae9821cfa92cb2dba6f3d6cbc781feb3fa7b0f7c2739d44c32fcdb25c5ad47e27c">ignite::binary</a>
</li>
<li>IGNITE_COLLECTION_UNDEFINED
: <a class="el" href="namespaceignite_1_1binary.html#ae9821cfa92cb2dba6f3d6cbc781feb3fa2a7f330fd0656c5eafe55942ccddcf56">ignite::binary</a>
</li>
<li>IGNITE_MAP_HASH_MAP
: <a class="el" href="namespaceignite_1_1binary.html#a525f902c3c583b7a7ff9770ffa3877a8a8df642e1f53acc517235d5d3f6986db1">ignite::binary</a>
</li>
<li>IGNITE_MAP_LINKED_HASH_MAP
: <a class="el" href="namespaceignite_1_1binary.html#a525f902c3c583b7a7ff9770ffa3877a8a07c38f748415ee79717d23aac44a81b8">ignite::binary</a>
</li>
<li>IGNITE_MAP_UNDEFINED
: <a class="el" href="namespaceignite_1_1binary.html#a525f902c3c583b7a7ff9770ffa3877a8aa2165f3032d9826b0a29f71e52189803">ignite::binary</a>
</li>
<li>IGNITE_PEEK_MODE_ALL
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fa50e9c13c98d4a459a9528eea34be29c3">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_BACKUP
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fa1564e46edb367d9ae924ab690b88de41">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_NEAR
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63faccf69fd4fd31ae8e11a0a79a765c6c24">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_OFFHEAP
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fa896a64a8ce67cc8e0ab8d316f555dc16">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_ONHEAP
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fab810d513afd515b2a529358107c91db6">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_PRIMARY
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fa32110c71f1e2792191489566f7cc40d0">ignite::cache</a>
</li>
<li>IGNITE_PEEK_MODE_SWAP
: <a class="el" href="namespaceignite_1_1cache.html#a6def68803623999e3bc2a01a1451d63fad28bebf4953731d66a8a0fe259c31060">ignite::cache</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Dec 29 2015 13:22:07 for &nbsp; Apache Ignite C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
