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

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

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.MonthIntervalArrayBuilder.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.MonthIntervalArrayBuilder.append_values"/>
  <meta priority="og:description" content="Reference for Arrow.MonthIntervalArrayBuilder.append_values"/>
  <meta name="twitter:title" content="Arrow.MonthIntervalArrayBuilder.append_values"/>
  <meta name="twitter:description" content="Reference for Arrow.MonthIntervalArrayBuilder.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: 25.0</p>
        
        <p>Library Version: 25.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.MonthIntervalArrayBuilder.html">MonthIntervalArrayBuilder</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.MonthIntervalArrayBuilder.append_value.html">append_value</a>
  
    <a class="method current" href="method.MonthIntervalArrayBuilder.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> 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.MonthIntervalArrayBuilder.html">MonthIntervalArrayBuilder</a><span class="sep"></span>append_values</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 8.0.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#L1371">[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_month_interval_array_builder_append_values</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowMonthIntervalArrayBuilder</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">gint32</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#L4576">[src]</a>
        
      </h4>

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

      <div class="docblock">
        
        <p>Available since: 8.0.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>gint32</code></p>
            <p>The array of the&nbsp;month.</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 method.</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>The length of <code>values</code>.</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>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>
            <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 method.</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>The length of <code>is_valids</code>.</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 be 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><code>TRUE</code> on success, <code>FALSE</code> if there was an&nbsp;error.</p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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