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

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

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


  
  <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.DoubleArray.html">DoubleArray</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.DoubleArray.get_value.html">get_value</a>
  
    <a class="method current" href="method.DoubleArray.get_values.html">get_values</a>
  
    <a class="method" href="method.DoubleArray.sum.html">sum</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.DoubleArray.html">DoubleArray</a><span class="sep"></span>get_values</h1>
  </header>

  <section>
    <div class="docblock">
      <p></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/basic-array.h#L517">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="k">const</span><span class="w"> </span><span class="n">gdouble</span><span class="o">*</span>
<span class="n">garrow_double_array_get_values</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowDoubleArray</span><span class="o">*</span><span class="w"> </span><span class="n">array</span><span class="p">,</span>
<span class="w">  </span><span class="n">gint64</span><span class="o">*</span><span class="w"> </span><span class="n">length</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>

      
    </div>

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

      <div class="docblock">
        <dl class="arguments">
          

          
          <dt class="arg-name"><code>length</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gint64*</code></p>
            <p>The number of&nbsp;values.</p>
            <table>
            <tr><td title="direction: out">The argument will be set by the function.</td></tr>
            
            
            
            
            
            
            
            
            </table>
          </dd>
          

          
        </dl>
      </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;An array of&nbsp;<code>gdouble</code></p>
            <p>The raw&nbsp;values.</p>
          </div>
          <div>
            <table>
            
            
            <tr><td>The length of the array is in the <code>length</code> argument.</td></tr>
            <tr><td title="transfer: none">The returned data is owned by the instance.</td></tr>
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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