<!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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: Class Members - Functions</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>
<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="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td id="projectalign" 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.17 -->
<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 -->
<!-- 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_f"></a>- f -</h3><ul>
<li>ForAttribute()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#adcc9b0ccbf9586c7c1051e9fcb126184">ignite::cluster::ClusterGroup</a>
</li>
<li>ForCacheNodes()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#ac2155e615110dfa0511b8174d302dc0b">ignite::cluster::ClusterGroup</a>
</li>
<li>ForClientNodes()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a7cc10c00547a551ea8d047ffbafb0c61">ignite::cluster::ClusterGroup</a>
</li>
<li>ForClients()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#afeac895b7fe4bd98bfc79452ac028e25">ignite::cluster::ClusterGroup</a>
</li>
<li>ForCpp()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a36d9947c94c647b00256dc711b573e00">ignite::cluster::ClusterGroup</a>
</li>
<li>ForDaemons()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a058be96c0af2555830e62a9e7250d187">ignite::cluster::ClusterGroup</a>
</li>
<li>ForDataNodes()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a052887e3c09f4776ad15f1ffbece8c36">ignite::cluster::ClusterGroup</a>
</li>
<li>ForHost()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a9cf80626b6ad8eb4a808cd8ee4da7b92">ignite::cluster::ClusterGroup</a>
</li>
<li>ForHosts()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a324e3b46f29a0e62ea01471f27fb0120">ignite::cluster::ClusterGroup</a>
</li>
<li>ForLocal()
: <a class="el" href="classignite_1_1cluster_1_1IgniteCluster.html#afbca46b0ec52d7469a95e4587fc75f38">ignite::cluster::IgniteCluster</a>
</li>
<li>ForNode()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#ad0ab01134c631c12e094ca4d3903fc23">ignite::cluster::ClusterGroup</a>
</li>
<li>ForNodeId()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a6b3bdc972ccadce384a1a2d5277b2670">ignite::cluster::ClusterGroup</a>
</li>
<li>ForNodeIds()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#ad778ae0448e22b08a1f8891247307ba9">ignite::cluster::ClusterGroup</a>
</li>
<li>ForNodes()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a3728b37b75df653327c46e5baf8824d6">ignite::cluster::ClusterGroup</a>
</li>
<li>ForOldest()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#afb45d5ca5a61ceae173c54def08e8da8">ignite::cluster::ClusterGroup</a>
</li>
<li>ForPredicate()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#aba9c00789f3d7b7be49aa255fd02ab8f">ignite::cluster::ClusterGroup</a>
</li>
<li>ForRandom()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#a910f69ecbb807f00f7f2a14e9c0a1d1b">ignite::cluster::ClusterGroup</a>
</li>
<li>ForRemotes()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#ad6d8fe40a1b527de537c1ff4c98452f1">ignite::cluster::ClusterGroup</a>
</li>
<li>ForServers()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#afb60eea548157e6e97da7f9075a6b3ba">ignite::cluster::ClusterGroup</a>
</li>
<li>ForYoungest()
: <a class="el" href="classignite_1_1cluster_1_1ClusterGroup.html#ab4edd62f088f70ea89eade29fa2967f1">ignite::cluster::ClusterGroup</a>
</li>
<li>FromConfiguration()
: <a class="el" href="classignite_1_1JvmOptions.html#af6d62a199c8b85f304959cae75b4005d">ignite::JvmOptions</a>
</li>
<li>FromOrdinal()
: <a class="el" href="structignite_1_1binary_1_1BinaryEnum_3_01T_01_5_01_4.html#afbc66e7268e86329de27d6da77910999">ignite::binary::BinaryEnum&lt; T * &gt;</a>
, <a class="el" href="structignite_1_1binary_1_1BinaryEnumDefault.html#a625b0d7a350837f27db254b2d2bab319">ignite::binary::BinaryEnumDefault&lt; T &gt;</a>
</li>
<li>Future()
: <a class="el" href="classignite_1_1Future.html#a5dd1c5eb96ad2d3cae49f03cfd7b7c8d">ignite::Future&lt; T &gt;</a>
, <a class="el" href="classignite_1_1Future_3_01void_01_4.html#a759984cc1557ce3ed6430a8f93e82f61">ignite::Future&lt; void &gt;</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jan 10 2022 11:02:04 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.17
</small></address>
</body>
</html>
