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

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

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

  <meta charset="utf-8" />

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

  

  
  <meta priority="og:title" content="Arrow.ChunkedArray.get_length"/>
  <meta priority="og:description" content="Reference for Arrow.ChunkedArray.get_length"/>
  <meta name="twitter:title" content="Arrow.ChunkedArray.get_length"/>
  <meta name="twitter:description" content="Reference for Arrow.ChunkedArray.get_length"/>


  
  <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 href="class.ChunkedArray.html">ChunkedArray</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.ChunkedArray.combine.html">combine</a>
  
    <a class="method" href="method.ChunkedArray.equal.html">equal</a>
  
    <a class="method" href="method.ChunkedArray.export.html">export</a>
  
    <a class="method" href="method.ChunkedArray.filter.html">filter</a>
  
    <a class="method" href="method.ChunkedArray.filter_chunked_array.html">filter_chunked_array</a>
  
    <a class="method" href="method.ChunkedArray.get_chunk.html">get_chunk</a>
  
    <a class="method" href="method.ChunkedArray.get_chunks.html">get_chunks</a>
  
    <a class="method current" href="method.ChunkedArray.get_length.html">get_length</a>
  
    <a class="method" href="method.ChunkedArray.get_n_chunks.html">get_n_chunks</a>
  
    <a class="method" href="method.ChunkedArray.get_n_nulls.html">get_n_nulls</a>
  
    <a class="method" href="method.ChunkedArray.get_n_rows.html">get_n_rows</a>
  
    <a class="method" href="method.ChunkedArray.get_value_data_type.html">get_value_data_type</a>
  
    <a class="method" href="method.ChunkedArray.get_value_type.html">get_value_type</a>
  
    <a class="method" href="method.ChunkedArray.slice.html">slice</a>
  
    <a class="method" href="method.ChunkedArray.sort_indices.html">sort_indices</a>
  
    <a class="method" href="method.ChunkedArray.take.html">take</a>
  
    <a class="method" href="method.ChunkedArray.take_chunked_array.html">take_chunked_array</a>
  
    <a class="method" href="method.ChunkedArray.to_string.html">to_string</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>Method</h3>
    <h1><a href="index.html">Arrow</a><span class="sep"></span><a href="class.ChunkedArray.html">ChunkedArray</a><span class="sep"></span>get_length</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem deprecated">deprecated: 0.15.0</span>&nbsp;</p>
    </div>

    <div class="declaration toggle-wrapper">
      <h4 style="display:flex;" id="declaration">
        Declaration
        <a class="anchor" href="#declaration"></a>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/chunked-array.h#L50">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">guint64</span>
<span class="n">garrow_chunked_array_get_length</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowChunkedArray</span><span class="o">*</span><span class="w"> </span><span class="n">chunked_array</span>
<span class="p">)</span>
</pre></div>
</code></pre>
      </div>
    </div>

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

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

      <div class="docblock">
        
        
        <div class="admonition deprecation">
          <p class="admonition-title">Deprecated since: 0.15.0</p><p>Use <code>garrow_chunked_array_get_n_rows()</code> instead.</p></div>
        
        
        
        
      </div>

      
    </div>

    

    
    <div class="return-value toggle-wrapper">
      <h4 id="return-value">
        Return value
        <a href="#return-value" class="anchor"></a>
      </h4>

      <div class="docblock">
        <div class="returns">
          <div class="arg-description">
            <p><em>Type:</em>&nbsp;<code>guint64</code></p>
            <p>The total number of rows in the chunked&nbsp;array.</p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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