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

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

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


  
  <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: 23.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.StringArrayBuilder.html">StringArrayBuilder</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method current" href="method.StringArrayBuilder.append.html">append</a>
  
    <a class="method" href="method.StringArrayBuilder.append_string.html">append_string</a>
  
    <a class="method" href="method.StringArrayBuilder.append_string_len.html">append_string_len</a>
  
    <a class="method" href="method.StringArrayBuilder.append_strings.html">append_strings</a>
  
    <a class="method" href="method.StringArrayBuilder.append_value.html">append_value</a>
  
    <a class="method" href="method.StringArrayBuilder.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.StringArrayBuilder.html">StringArrayBuilder</a><span class="sep"></span>append</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem deprecated">deprecated: 0.12.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/array-builder.h#L954">[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_string_array_builder_append</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowStringArrayBuilder</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">gchar</span><span class="o">*</span><span class="w"> </span><span class="n">value</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>
        
      </h4>

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

      <div class="docblock">
        
        
        <div><p>Deprecated since: 0.12.0</p>
          <p>Use <code>garrow_string_array_builder_append_value()</code> instead.</p></div>
        
        
        
      </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>value</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<code>const gchar*</code></p>
            <p><p>A string&nbsp;value.</p></p>
            <table>
            
            
            
            
            
            
            
            <tr><td title="transfer: none">The data is owned by the caller of the function.</td></tr>
            <tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
            </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>