<!DOCTYPE html >
<html>
        <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.0/scaladoc/scalar/index/index-p.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

          <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.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">PimpedType</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/package.html" class="extype" name="org.apache.ignite.scalar.pimps">pimps</a> </div>
    </div><div class="entry">
      <div class="name">Pred</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarProjectionPimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp">ScalarProjectionPimp</a> </div>
    </div><div class="entry">
      <div class="name">Pred1</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarProjectionPimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp">ScalarProjectionPimp</a> </div>
    </div><div class="entry">
      <div class="name">Pred2</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarProjectionPimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp">ScalarProjectionPimp</a> </div>
    </div><div class="entry">
      <div class="name">Pred3</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarProjectionPimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp">ScalarProjectionPimp</a> </div>
    </div><div class="entry">
      <div class="name">pimps</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/package.html" class="extype" name="org.apache.ignite.scalar">scalar</a> </div>
    </div><div class="entry">
      <div class="name">predicate2DotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">predicate2XDotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">predicate3DotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">predicate3XDotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">predicateDotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">predicateXDotScala</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a> </div>
    </div><div class="entry">
      <div class="name">put$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarCachePimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp">ScalarCachePimp</a> </div>
    </div><div class="entry">
      <div class="name">putAll$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarCachePimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp">ScalarCachePimp</a> </div>
    </div><div class="entry">
      <div class="name">putOpt$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarCachePimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp">ScalarCachePimp</a> </div>
    </div><div class="entry">
      <div class="name">putx$</div>
      <div class="occurrences"><a href="../org/apache/ignite/scalar/pimps/ScalarCachePimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp">ScalarCachePimp</a> </div>
    </div><table style="padding: 0px 10px 10px 10px; width: 100%" border="0">
                                        <tr>
                                            <td>
                                                <nobr>Ignite&#153; - Scalar DSL, ver. <strong>2.7.0</strong></nobr>
                                                <br>
                                                <a target=_blank href="https://ignite.apache.org"><nobr>2018 Copyright &#169; Apache Software Foundation</nobr></a>
                                            </td>
                                        </tr>
                                        </table><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</body>

      </html>
