<!--
SPDX-FileCopyrightText: The Apache Software Foundation

SPDX-License-Identifier: Apache-2.0
-->

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Gandiva.SelectableProjector</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta charset="utf-8" />

  
  <meta property="og:type" content="website"/>

  

  
  <meta property="og:title" content="Gandiva.SelectableProjector"/>
  <meta property="og:description" content="Reference for Gandiva.SelectableProjector"/>
  <meta name="twitter:title" content="Gandiva.SelectableProjector"/>
  <meta name="twitter:description" content="Reference for Gandiva.SelectableProjector"/>


  
  <meta name="twitter:card" content="summary"/>

  
  
  
  

  <link rel="stylesheet" href="style.css" type="text/css" />

  

  
  <script src="urlmap.js"></script>
  
  
  <script src="fzy.js"></script>
  <script src="search.js"></script>
  
  <script src="main.js"></script>
</head>

<body>
  <div id="body-wrapper" tabindex="-1">

    <nav class="sidebar devhelp-hidden">
      
      
      <div class="search section">
        <form id="search-form" autocomplete="off">
          <input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
        </form>
      </div>
      
      <div class="section namespace">
        <h3><a href="index.html">Gandiva</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 22.0.0</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a class="current" href="class.SelectableProjector.html#description">SelectableProjector</a>
  </div>
</div>


<div class="section">
  <h5>Constructors</h5>
  <div class="links">
  
    <a class="ctor" href="ctor.SelectableProjector.new.html">new</a>
  
  </div>
</div>





<div class="section">
  <h5>Instance methods</h5>
  <div class="links">
  
    <a class="method" href="method.SelectableProjector.evaluate.html">evaluate</a>
  
  </div>
</div>











      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2023.1</p>
      </div>
    </nav>

    <button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>

    
<section id="main" class="content">
  <header>
    <h3>Class</h3>
    <h1 aria-label="Name"><a href="index.html">Gandiva</a><span class="sep" role="presentation"></span>SelectableProjector</h1>
  </header>

  <section>
    <summary>
      <div class="docblock">
        <p></p>
      </div>

      <div class="toggle-wrapper">
        <h4 id="description" style="display:flex;">
          Description
          <a href="#description" class="anchor"></a>
          
        </h4>

        <pre><code>class Gandiva.SelectableProjector : Gandiva.Projector {
  parent_instance: GGandivaProjector
}</pre></code>

        <div class="docblock">
          No description available.
        </div>

        <div class="docblock">
          
          
          
        </div>

        
      </div>
    </summary>

    

    
    <div class="toggle-wrapper ancestors">
      <h4 id="ancestors">
        Ancestors
        <a href="#ancestors" class="anchor"></a>
      </h4>

      <div class="docblock">
        <ul>
        
          
          <li class="class"><a href="class.Projector.html" title="Projector">GGandivaProjector</a></li>
          
        
          
          <li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
          
        
        </ul>
      </div>
    </div>
    

    

    

    
    <div class="toggle-wrapper constructors">
      <h4 id="constructors">
        Constructors
        <a href="#constructors" class="anchor"></a>
      </h4>

      <div class="docblock">
      
        <div class="">
          <h6><a href="ctor.SelectableProjector.new.html">ggandiva_selectable_projector_new</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 4.0.0</span></p>
          </div>
        </div>
      
      </div>
    </div>
    

    

    
    <div class="toggle-wrapper methods">
      <h4 id="methods">
        Instance methods
        <a href="#methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      
        <div class="">
          <h6><a href="method.SelectableProjector.evaluate.html">ggandiva_selectable_projector_evaluate</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 4.0.0</span></p>
          </div>
        </div>
      
      </div>

      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.Projector.html">GGandivaProjector</a> (1)</h5><div class="docblock">
          
            <h6><a href="method.Projector.evaluate.html">ggandiva_projector_evaluate</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.12.0</span></p>
            </div>
          
          </div>
        </div>
        
      
        
        <div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
          <div class="docblock">
          
            <div class="docblock">
              <p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
            </div>
          
          </div>
        </div>
        
      

      
    </div>
    

    
    <div class="toggle-wrapper properties">
      <h4 id="properties">
        Properties
        <a href="#properties" class="anchor"></a>
      </h4>

      

      
        
        <div class="toggle-wrapper default-hide ancestor-properties">
          <h5 style="display:block;">Properties inherited from <a href="class.Projector.html">GGandivaProjector</a> (3)</h5><div class="docblock">
          
            <h6><a href="property.Projector.expressions.html">Gandiva.Projector:expressions</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Projector.projector.html">Gandiva.Projector:projector</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Projector.schema.html">Gandiva.Projector:schema</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
          </div>
        </div>
        
      
        
      

      

    </div>
    

    
    <div class="signals toggle-wrapper">
      <h4 id="signals">
        Signals
        <a href="#signals" class="anchor"></a>
      </h4>

      

      
        
      
        
        <div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
          <div class="docblock">
          <h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
            <div class="docblock">
              <p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
          </div>
        </div>
        
      

      

    </div>
    

    
    <div class="class toggle-wrapper default-hide">
      <h4 id="class-struct">
        Class structure
        <a href="#class-struct" class="anchor"></a>
      </h4>

      <div class="docblock">
        <pre><code>struct GandivaSelectableProjectorClass {
  GGandivaProjectorClass parent_class;
  
}</code></pre>
      </div>

      <div class="docblock">
        No description available.
      </div>

      
      <div class="docblock">
        <h6>Class members</h6>

        <dl class="members">
        
          <dt><code>parent_class: GGandivaProjectorClass</code></dt>
          <dd>No description available.</dd>
        
        </dd>
      </div>
      
    </div>
    

    

    

  </section>
</section>


    
<div id="toc" class="toc">
  <nav aria-labelledby="toc-title">
    <p id="toc-title">Content</p>
    <ul class="toc-list">
      <li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
      
      
      
      <li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
      
      
      
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>


      

      
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>


      

      

      

      

    </ul>
  </nav>
</div>


    <section id="search" class="content hidden"></section>

    <footer>
    
    </footer>
  </div>
</body>
</html>