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

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

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

  <meta charset="utf-8" />

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

  

  
  <meta property="og:title" content="ArrowDataset.IPCFileFormat.new"/>
  <meta property="og:description" content="Reference for ArrowDataset.IPCFileFormat.new"/>
  <meta name="twitter:title" content="ArrowDataset.IPCFileFormat.new"/>
  <meta name="twitter:description" content="Reference for ArrowDataset.IPCFileFormat.new"/>


  
  <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">ArrowDataset</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 21.0.0</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.IPCFileFormat.html">IPCFileFormat</a>
  </div>
</div>
<div class="section">
  <h5>Constructors</h5>
  <div class="links">
  
    <a class="method current" href="ctor.IPCFileFormat.new.html">new</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>Constructor</h3>
    <h1><a href="index.html">ArrowDataset</a><span class="sep"></span><a href="class.IPCFileFormat.html">IPCFileFormat</a><span class="sep"></span>new</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 3.0.0</span></p>
    </div>
    <div class="declaration toggle-wrapper">
      <h4 id="declaration" style="display:flex;">
        Declaration
        <a href="#declaration" class="anchor"></a>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-dataset-glib/file-format.h#L123">[src]</a>
        
      </h4>

      <div class="docblock">
        <pre><code><div class="highlight"><pre><span></span><span class="n">GADatasetIPCFileFormat</span><span class="o">*</span>
<span class="n">gadataset_ipc_file_format_new</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="kt">void</span>
<span class="p">)</span>
</pre></div>
</code></pre>
      </div>
    </div>

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

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

      <div class="docblock">
        
        <p>Available since: 3.0.0</p>
        
        
      </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;<a href="class.IPCFileFormat.html"><code>GADatasetIPCFileFormat</code></a></p>
            <p><p>The newly created <span class="caps">IPC</span> file&nbsp;format.</p></p>
          </div>
          <div>
            <table>
            
            
            
            <tr><td title="transfer: full">The caller of the function takes ownership of the data, and is responsible for freeing it.</td></tr>
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    
  </section>
</section>


    

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

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