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

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

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.UInt64ArrayBuilder.append_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.UInt64ArrayBuilder.append_values"/>
  <meta priority="og:description" content="Reference for Arrow.UInt64ArrayBuilder.append_values"/>
  <meta name="twitter:title" content="Arrow.UInt64ArrayBuilder.append_values"/>
  <meta name="twitter:description" content="Reference for Arrow.UInt64ArrayBuilder.append_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: 1.0</p>
        
        <p>Library Version: 22.0.0</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.UInt64ArrayBuilder.html">UInt64ArrayBuilder</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.UInt64ArrayBuilder.append.html">append</a>
  
    <a class="method" href="method.UInt64ArrayBuilder.append_null.html">append_null</a>
  
    <a class="method" href="method.UInt64ArrayBuilder.append_nulls.html">append_nulls</a>
  
    <a class="method" href="method.UInt64ArrayBuilder.append_value.html">append_value</a>
  
    <a class="method current" href="method.UInt64ArrayBuilder.append_values.html">append_values</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>Method</h3>
    <h1><a href="index.html">Arrow</a><span class="sep"></span><a href="class.UInt64ArrayBuilder.html">UInt64ArrayBuilder</a><span class="sep"></span>append_values</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 0.8.0</span></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/array-builder.h#L671">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">garrow_uint64_array_builder_append_values</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowUInt64ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="p">,</span>
<span class="w">  </span><span class="k">const</span><span class="w"> </span><span class="n">guint64</span><span class="o">*</span><span class="w"> </span><span class="n">values</span><span class="p">,</span>
<span class="w">  </span><span class="n">gint64</span><span class="w"> </span><span class="n">values_length</span><span class="p">,</span>
<span class="w">  </span><span class="k">const</span><span class="w"> </span><span class="n">gboolean</span><span class="o">*</span><span class="w"> </span><span class="n">is_valids</span><span class="p">,</span>
<span class="w">  </span><span class="n">gint64</span><span class="w"> </span><span class="n">is_valids_length</span><span class="p">,</span>
<span class="w">  </span><span class="n">GError</span><span class="o">**</span><span class="w"> </span><span class="n">error</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>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/array-builder.cpp#L2488">[src]</a>
        
      </h4>

      <div class="docblock">
        <p>Append multiple values at once. It&#8217;s more efficient than multiple
<code>append</code> and <code>append_null</code> calls.</p>
      </div>

      <div class="docblock">
        
        <p>Available since: 0.8.0</p>
        
        
        
        
      </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>values</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;An array of&nbsp;<code>guint64</code></p>
            <p><p>The array of&nbsp;uint64.</p></p>
            <table>
            
            
            
            
            
            
            <tr><td>The length of the array is specified in the <code>values_length</code> argument.</td></tr>
            <tr><td title="transfer: none">The data is owned by the caller of the function.</td></tr>
            
            </table>
          </dd>
          
          <dt class="arg-name"><code>values_length</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gint64</code></p>
            <p><p>The length of <code>values</code>.</p></p>
            <table>
            
            
            
            
            
            
            
            
            
            </table>
          </dd>
          
          <dt class="arg-name"><code>is_valids</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;An array of&nbsp;<code>gboolean</code></p>
            <p><p>The array of
  boolean that shows whether the Nth value is valid or not. If the
  Nth <code>is_valids</code> is <code>TRUE</code>, the Nth <code>values</code> is valid value. Otherwise
  the Nth value is null&nbsp;value.</p></p>
            <table>
            
            <tr><td>The argument can be <code>NULL</code>.</td></tr>
            
            
            
            
            <tr><td>The length of the array is specified in the <code>is_valids_length</code> argument.</td></tr>
            <tr><td title="transfer: none">The data is owned by the caller of the function.</td></tr>
            
            </table>
          </dd>
          
          <dt class="arg-name"><code>is_valids_length</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gint64</code></p>
            <p><p>The length of <code>is_valids</code>.</p></p>
            <table>
            
            
            
            
            
            
            
            
            
            </table>
          </dd>
          

          
          <dt class="arg-name"><code>error</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<a href="javascript:void(0)" data-namespace="GLib" data-link="struct.Error.html" class="external"><code>GError **</code></a></p>
            <p>The return location for <a href="https://docs.gtk.org/glib/error-reporting.html#rules-for-use-of-gerror">a recoverable error</a>.</p>
            <table>
              <tr><td>The argument can be <code>NULL</code>.</td></tr>
              <tr><td>If the return location is not <code>NULL</code>, then you must initialize it to a <code>NULL</code> <code>GError*</code>.</td></tr>
              <tr><td>The argument will left initialized to <code>NULL</code> by the method if there are no errors.</td></tr>
              <tr><td>In case of error, the argument will be set to a newly allocated <code>GError</code>; the caller will take ownership of the data, and be responsible for freeing it.</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;<code>gboolean</code></p>
            <p><p><code>TRUE</code> on success, <code>FALSE</code> if there was an&nbsp;error.</p></p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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