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

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

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


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


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



  


  
<div class="section">
  <h5>Instance methods</h5>
  <div class="links">
  
    <a class="method" href="method.Time64Array.get_value.html">get_value</a>
  
    <a class="method" href="method.Time64Array.get_values.html">get_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>Class</h3>
    <h1 aria-label="Name"><a href="index.html">Arrow</a><span class="sep" role="presentation"></span>Time64Array</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.Time64Array : Arrow.NumericArray
{
  /* No available fields */
}</pre></code>

        <div class="docblock">
          <p>No description available.</p>
        </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 href="class.NumericArray.html" title="NumericArray">GArrowNumericArray</a></li>
          
        
          
          <li class="class"><a href="class.PrimitiveArray.html" title="PrimitiveArray">GArrowPrimitiveArray</a></li>
          
        
          
          <li class="class"><a href="class.Array.html" title="Array">GArrowArray</a></li>
          
        
          
          <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.Time64Array.new.html">garrow_time64_array_new</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.7.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.Time64Array.get_value.html">garrow_time64_array_get_value</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.7.0</span></p>
          </div>
        </div>
      
        <div class="">
          <h6><a href="method.Time64Array.get_values.html">garrow_time64_array_get_values</a></h6>
          <div class="docblock">
            No description available.
          </div>
          <div class="docblock">
            <p><span class="emblem available">since: 0.7.0</span></p>
          </div>
        </div>
      
      </div>

      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.NumericArray.html">GArrowNumericArray</a> (1)</h5><div class="docblock">
          
            <h6><a href="method.NumericArray.mean.html">garrow_numeric_array_mean</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 0.13.0</span></p>
            </div>
            
          </div>
        </div>
        
      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.PrimitiveArray.html">GArrowPrimitiveArray</a> (2)</h5><div class="docblock">
          
            <h6><a href="method.PrimitiveArray.get_buffer.html">garrow_primitive_array_get_buffer</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem deprecated">deprecated: 1.0.0</span>&nbsp;</p>
            </div>
            
            <h6><a href="method.PrimitiveArray.get_data_buffer.html">garrow_primitive_array_get_data_buffer</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p><span class="emblem available">since: 1.0.0</span></p>
            </div>
            
          </div>
        </div>
        
      
        
        <div class="toggle-wrapper default-hide ancestor-methods">
          <h5 style="display:block;">Methods inherited from <a href="class.Array.html">GArrowArray</a> (34)</h5><div class="docblock">
          
            <div class="docblock">
              <p>Please see&nbsp;<a href="class.Array.html#methods">GArrowArray</a>&nbsp;for a full list of methods.</em></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="toggle-wrapper default-hide ancestor-properties">
          <h5 style="display:block;">Properties inherited from <a href="class.Array.html">GArrowArray</a> (6)</h5><div class="docblock">
          
            <h6><a href="property.Array.array.html">Arrow.Array:array</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
            
            <h6><a href="property.Array.buffer1.html">Arrow.Array:buffer1</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
            
            <h6><a href="property.Array.buffer2.html">Arrow.Array:buffer2</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
            
            <h6><a href="property.Array.null-bitmap.html">Arrow.Array:null-bitmap</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
            
            <h6><a href="property.Array.parent.html">Arrow.Array:parent</a></h6><div class="docblock">
              No description available.
            </div>
            <div class="docblock">
              <p></p>
            </div>
            
            <h6><a href="property.Array.value-data-type.html">Arrow.Array:value-data-type</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>
        </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 ArrowTime64ArrayClass {
  GArrowNumericArrayClass parent_class;
  
}</code></pre>
      </div>

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

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

        <dl class="members">
        
          <dt><code>parent_class: GArrowNumericArrayClass</code></dt>
          <dd><p>No description available.</p></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>


      

      

      

      

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


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

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