<!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.7.0/dotnetdoc/functions_func.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>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.html','');});
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>Add()
: <a class="el" href="class_apache_1_1_ignite_1_1_asp_net_1_1_ignite_output_cache_provider.html#a7706d3d2543d69c76031dc9ef1f02925">Apache.Ignite.AspNet.IgniteOutputCacheProvider</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_data_structures_1_1_i_atomic_long.html#a7c838e4ef9b7e753faf15e9639772a34">Apache.Ignite.Core.DataStructures.IAtomicLong</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_data_structures_1_1_i_atomic_sequence.html#a702cb93a3af16b172d8f12683bdbcad3">Apache.Ignite.Core.DataStructures.IAtomicSequence</a>
</li>
<li>AddData()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#ab3d89e9c347879313bbded755b3ca542">Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;</a>
</li>
<li>AddMeta&lt; TV &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_transactions_1_1_i_transaction.html#ad7889f571949a33575749067f3a77dfb">Apache.Ignite.Core.Transactions.ITransaction</a>
</li>
<li>AffinityCall&lt; TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#a253e239b0da8fca2b2b213b32c78de74">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>AffinityCallAsync&lt; TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#aa2e4314fef1cd23fdc6e6492b572b81c">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>AffinityKey()
: <a class="el" href="struct_apache_1_1_ignite_1_1_core_1_1_cache_1_1_affinity_1_1_affinity_key.html#a59bcaa9f1b62958bbd72bdcc37ac2a00">Apache.Ignite.Core.Cache.Affinity.AffinityKey</a>
</li>
<li>AffinityRun()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#a0011fb79a22ef1c4c6d9fabebae2df23">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>AffinityRunAsync()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#ab82456fc81a6e5c04a7acfce141184ff">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>AffinityTopologyVersion()
: <a class="el" href="struct_apache_1_1_ignite_1_1_core_1_1_cache_1_1_affinity_1_1_affinity_topology_version.html#ad70dd41aa8ba1490668a3f7868ff5d6f">Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion</a>
</li>
<li>Apply&lt; TArg, TFuncRes, TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#ae89c25e5ad85176f37db7d9ba4f9aaf1">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>Apply&lt; TArg, TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#a34167c6b04cd25af1eaac0652cabab6d">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>ApplyAsync&lt; TArg, TFuncRes, TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#abda437fa8679960f2492cde63461d048">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>ApplyAsync&lt; TArg, TRes &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#a0f09ae0fdc589f2e2081f241ba21f8b2">Apache.Ignite.Core.Compute.ICompute</a>
</li>
<li>AsCacheQueryable&lt; TKey, TValue &gt;()
: <a class="el" href="class_apache_1_1_ignite_1_1_linq_1_1_cache_linq_extensions.html#a614093f5bc5ca8b131dfe90655295db4">Apache.Ignite.Linq.CacheLinqExtensions</a>
</li>
<li>AssignPartitions()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_affinity_1_1_i_affinity_function.html#a6c72007bd20c58de58c8a194fbbc690f">Apache.Ignite.Core.Cache.Affinity.IAffinityFunction</a>
</li>
<li>AtomicConfiguration()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_data_structures_1_1_configuration_1_1_atomic_configuration.html#afea937106060d75e1afcb805b9073783">Apache.Ignite.Core.DataStructures.Configuration.AtomicConfiguration</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 Mon Aug 1 2016 19:40:28 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>
