<!DOCTYPE html >
<html>
        <head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.2.0/scaladoc/scalar/index/index-w.html" />
          <title>Ignite Scalar</title>
          <meta name="description" content="Ignite Scalar" />
          <meta name="keywords" content="Ignite Scalar" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../lib/ref-index.css" media="screen" type="text/css" rel="stylesheet" />
      <script type="text/javascript" src="../lib/jquery.js"></script>
    
        <link rel='shortcut icon' href='https://ignite.incubator.apache.org/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://agorbatchev.typepad.com/pub/sh/3_0_83/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://agorbatchev.typepad.com/pub/sh/3_0_83/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shCore.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushGroovy.js'></script>

<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 class="entry">
      <div class="name">withName$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarTaskThreadContext.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarTaskThreadContext">ScalarTaskThreadContext</a> </div>
    </div><div class="entry">
      <div class="name">withNoFailover$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarTaskThreadContext.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarTaskThreadContext">ScalarTaskThreadContext</a> </div>
    </div><table style="padding: 0px 10px 10px 10px; width: 100%" border="0">
                                        <tr>
                                            <td>
                                                <nobr>Ignite&#153; - Scalar DSL, ver. <strong>1.2.0-incubating</strong></nobr>
                                                <br>
                                                <a target=_blank href="https://incubator.apache.org/projects/ignite.html"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a>
                                            </td>
                                        </tr>
                                        </table><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>

      </html>