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

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

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


  
  <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: 25.0</p>
        
        <p>Library Version: 25.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a class="current" href="class.Decimal32Array.html#description">Decimal32Array</a>
  </div>
</div>


  


  


  
<div class="section">
  <h5>Instance methods</h5>
  <div class="links">
  
    <a class="method" href="method.Decimal32Array.format_value.html">format_value</a>
  
    <a class="method" href="method.Decimal32Array.get_value.html">get_value</a>
  
  </div>
</div>



  


  


  


  



      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.3</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>Decimal32Array</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.Decimal32Array : Arrow.FixedSizeBinaryArray
{
  /* No available fields */
}</pre></code>

        <div class="docblock">
          <p>No description available.</p>
        </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.FixedSizeBinaryArray.html" title="FixedSizeBinaryArray">GArrowFixedSizeBinaryArray</a></li>
          
        
          
          <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 methods">
      <h4 id="methods">
        Instance methods
        <a href="#methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      
        <div class="">
          <h6><a href="method.Decimal32Array.format_value.html">garrow_decimal32_array_format_value</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 19.0.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.Decimal32Array.get_value.html">garrow_decimal32_array_get_value</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 19.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.FixedSizeBinaryArray.html">GArrowFixedSizeBinaryArray</a> (3)</h5><div class="docblock">
          
            <h6><a href="method.FixedSizeBinaryArray.get_byte_width.html">garrow_fixed_size_binary_array_get_byte_width</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 3.0.0</span></p>
            </div>
            
            <h6><a href="method.FixedSizeBinaryArray.get_value.html">garrow_fixed_size_binary_array_get_value</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 3.0.0</span></p>
            </div>
            
            <h6><a href="method.FixedSizeBinaryArray.get_values_bytes.html">garrow_fixed_size_binary_array_get_values_bytes</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 3.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.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>
        </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 ArrowDecimal32ArrayClass {
  GArrowFixedSizeBinaryArrayClass parent_class;
  
}</code></pre>
      </div>

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

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

        <dl class="members">
        
          <dt><code>parent_class: GArrowFixedSizeBinaryArrayClass</code></dt>
          <dd><p>No description available.</p></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="#methods"><span class="link-text">Methods</span></a></li>


      

      

      

      

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


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

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