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

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

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


  
  <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 class="current" href="class.RecordBatchFileReader.html#description">RecordBatchFileReader</a>
  </div>
</div>


<div class="section">
  <h5>Constructors</h5>
  <div class="links">
  
    <a class="ctor" href="ctor.RecordBatchFileReader.new.html">new</a>
  
  </div>
</div>





<div class="section">
  <h5>Instance methods</h5>
  <div class="links">
  
    <a class="method" href="method.RecordBatchFileReader.get_n_record_batches.html">get_n_record_batches</a>
  
    <a class="method" href="method.RecordBatchFileReader.get_record_batch.html">get_record_batch</a>
  
    <a class="method" href="method.RecordBatchFileReader.get_schema.html">get_schema</a>
  
    <a class="method" href="method.RecordBatchFileReader.get_version.html">get_version</a>
  
    <a class="method" href="method.RecordBatchFileReader.read_record_batch.html">read_record_batch</a>
  
  </div>
</div>



<div class="section">
  <h5>Properties</h5>
  <div class="links">
  
    <a class="property" href="property.RecordBatchFileReader.record-batch-file-reader.html">record-batch-file-reader</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>Class</h3>
    <h1 aria-label="Name"><a href="index.html">Arrow</a><span class="sep" role="presentation"></span>RecordBatchFileReader</h1>
  </header>

  <section>
    <summary>
      <div class="docblock">
        <p></p>
      </div>

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

        <pre><code>class Arrow.RecordBatchFileReader : GObject.Object {
  parent_instance: GObject
}</pre></code>

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

        <div class="docblock">
          
          
          
        </div>

        
      </div>
    </summary>

    

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

      <div class="docblock">
        <ul>
        
          
          <li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
          
        
        </ul>
      </div>
    </div>
    

    

    

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

      <div class="docblock">
      
        <div class="">
          <h6><a href="ctor.RecordBatchFileReader.new.html">garrow_record_batch_file_reader_new</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.4.0</span></p>
          </div>
        </div>
      
      </div>
    </div>
    

    

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

      <div class="docblock">
      
        <div class="">
          <h6><a href="method.RecordBatchFileReader.get_n_record_batches.html">garrow_record_batch_file_reader_get_n_record_batches</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.4.0</span></p>
          </div>
        </div>
      
        <div class="deprecated">
          <h6><a href="method.RecordBatchFileReader.get_record_batch.html">garrow_record_batch_file_reader_get_record_batch</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem deprecated">deprecated: 0.5.0</span>&nbsp;<span class="emblem available">since: 0.4.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.RecordBatchFileReader.get_schema.html">garrow_record_batch_file_reader_get_schema</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.4.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.RecordBatchFileReader.get_version.html">garrow_record_batch_file_reader_get_version</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.4.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.RecordBatchFileReader.read_record_batch.html">garrow_record_batch_file_reader_read_record_batch</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.5.0</span></p>
          </div>
        </div>
      
      </div>

      
        
        <div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
          <div class="docblock">
          
            <div class="docblock">
              <p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
            </div>
          
          </div>
        </div>
        
      

      
    </div>
    

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

      
      <div class="docblock">
      
        <div class="">
          <h6><a href="property.RecordBatchFileReader.record-batch-file-reader.html">Arrow.RecordBatchFileReader:record-batch-file-reader</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p></p>
          </div>
        </div>
      
      </div>
      

      
        
      

      

    </div>
    

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

      

      
        
        <div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
          <div class="docblock">
          <h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
            <div class="docblock">
              <p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
            </div>
            <div class="docblock">
              <p></p>
            </div>
          
          </div>
        </div>
        
      

      

    </div>
    

    
    <div class="class toggle-wrapper default-hide">
      <h4 id="class-struct">
        Class structure
        <a href="#class-struct" class="anchor"></a>
      </h4>

      <div class="docblock">
        <pre><code>struct ArrowRecordBatchFileReaderClass {
  GObjectClass parent_class;
  
}</code></pre>
      </div>

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

      
      <div class="docblock">
        <h6>Class members</h6>

        <dl class="members">
        
          <dt><code>parent_class: GObjectClass</code></dt>
          <dd>No description available.</dd>
        
        </dd>
      </div>
      
    </div>
    

    

    

  </section>
</section>


    
<div id="toc" class="toc">
  <nav aria-labelledby="toc-title">
    <p id="toc-title">Content</p>
    <ul class="toc-list">
      <li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
      
      
      
      <li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
      
      
      
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>


      

      
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>


      
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>


      

      

      

    </ul>
  </nav>
</div>


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

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