<!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>
<link rel="canonical" href="https://ignite.apache.org/releases/2.0.0/dotnetdoc/functions_func_f.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<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>Apache Ignite.NET: 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="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">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</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">Apache Ignite.NET
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
</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">
$(document).ready(function(){initNavTree('functions_func_f.html','');});
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>Flush()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aeddceb3c74b501940bae01c9324d8543">Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;</a>
</li>
<li>ForAttribute()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a98ac52aec111b845c8205e8f7263bfae">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForCacheNodes()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#ab9328f2775f17f6ef8c640244f1dfae7">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForClientNodes()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a98646bfeb281d83540d24a45b35a4732">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForDaemons()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a0f94f7b84598cf6da9d06497b0deba80">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForDataNodes()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#abcaefc0a0f4b868d36b824da035e3706">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForDotNet()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a2dbdf64a4f735d458d345c913b009246">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForHost()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a2d74904d2541e29b5fb8cc95b515dac4">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForLocal()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster.html#a9dd5109107dc69693270422e680152a2">Apache.Ignite.Core.Cluster.ICluster</a>
</li>
<li>ForNodeIds()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a58ad979838a1253b67a881b518b9b50f">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForNodes()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#aa478e418fb9cbb830e1defbbd9808c84">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForOldest()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a939a7659ca62bd6b90ece25eddcce772">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForPredicate()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a9fdb9c4a37d4270360748e31b1f24b46">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForRandom()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#ac5b6cbb1008ccd1e33930e9484aa6749">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForRemotes()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a166ed07be4f809419063b312ec6a26c6">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForServers()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a4e5086d9db67ef1f94b4fc2d06ccbe92">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>ForYoungest()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a99cf8236abcba0ec8063ad95364e99e1">Apache.Ignite.Core.Cluster.IClusterGroup</a>
</li>
<li>FromXml()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_ignite_configuration.html#aab5bd6e1ea9cf5b75dc80fed69ddc8b6">Apache.Ignite.Core.IgniteConfiguration</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Sun Apr 30 2017 12:15:06 for Apache Ignite.NET by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
