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

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

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.BooleanArray</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="Arrow.BooleanArray"/>
  <meta property="og:description" content="Reference for Arrow.BooleanArray"/>
  <meta name="twitter:title" content="Arrow.BooleanArray"/>
  <meta name="twitter:description" content="Reference for Arrow.BooleanArray"/>


  
  <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">Arrow</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 23.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a class="current" href="class.BooleanArray.html#description">BooleanArray</a>
  </div>
</div>


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





<div class="section">
  <h5>Instance methods</h5>
  <div class="links">
  
    <a class="method" href="method.BooleanArray.and.html">and</a>
  
    <a class="method" href="method.BooleanArray.get_value.html">get_value</a>
  
    <a class="method" href="method.BooleanArray.get_values.html">get_values</a>
  
    <a class="method" href="method.BooleanArray.invert.html">invert</a>
  
    <a class="method" href="method.BooleanArray.or.html">or</a>
  
    <a class="method" href="method.BooleanArray.xor.html">xor</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">Arrow</a><span class="sep" role="presentation"></span>BooleanArray</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 Arrow.BooleanArray : Arrow.PrimitiveArray {
  parent_instance: GArrowPrimitiveArray
}</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.PrimitiveArray.html" title="PrimitiveArray">GArrowPrimitiveArray</a></li>
          
        
          
          <li class="class"><a href="class.Array.html" title="Array">GArrowArray</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.BooleanArray.new.html">garrow_boolean_array_new</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.4.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.BooleanArray.and.html">garrow_boolean_array_and</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.13.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.BooleanArray.get_value.html">garrow_boolean_array_get_value</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.BooleanArray.get_values.html">garrow_boolean_array_get_values</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.BooleanArray.invert.html">garrow_boolean_array_invert</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.13.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.BooleanArray.or.html">garrow_boolean_array_or</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.13.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.BooleanArray.xor.html">garrow_boolean_array_xor</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.13.0</span></p>
          </div>
        </div>
      
      </div>

      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.PrimitiveArray.html">GArrowPrimitiveArray</a> (2)</h5><div class="docblock">
          
            <h6><a href="method.PrimitiveArray.get_buffer.html">garrow_primitive_array_get_buffer</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem deprecated">deprecated: 1.0.0</span>&nbsp;</p>
            </div>
          
            <h6><a href="method.PrimitiveArray.get_data_buffer.html">garrow_primitive_array_get_data_buffer</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 1.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.Array.html">GArrowArray</a> (34)</h5><div class="docblock">
          
            <div class="docblock">
              <p>Please see&nbsp;<a href="class.Array.html#methods">GArrowArray</a>&nbsp;for a full list of methods.</em></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.Array.html">GArrowArray</a> (6)</h5><div class="docblock">
          
            <h6><a href="property.Array.array.html">Arrow.Array:array</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Array.buffer1.html">Arrow.Array:buffer1</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Array.buffer2.html">Arrow.Array:buffer2</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Array.null-bitmap.html">Arrow.Array:null-bitmap</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Array.parent.html">Arrow.Array:parent</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
            <h6><a href="property.Array.value-data-type.html">Arrow.Array:value-data-type</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 ArrowBooleanArrayClass {
  GArrowPrimitiveArrayClass 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: GArrowPrimitiveArrayClass</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>