This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new f22f3b7  update documentation for tag dev
f22f3b7 is described below

commit f22f3b7d957318a905873ee1b2f12adaaf7a5b9e
Author: GitHub Actions <[email protected]>
AuthorDate: Tue Sep 6 17:16:25 2022 +0000

    update documentation for tag dev
---
 dev/r/pkgdown.yml                               |   2 +-
 dev/r/reference/as_nanoarrow_array.html         | 121 +++++++++++++++++++
 dev/r/reference/as_nanoarrow_array_stream.html  | 119 +++++++++++++++++++
 dev/r/reference/as_nanoarrow_schema.html        | 104 +++++++++++++++++
 dev/r/reference/index.html                      |  20 ++++
 dev/r/reference/nanoarrow_build_id.html         |   2 +-
 dev/r/reference/nanoarrow_pointer_is_valid.html | 149 ++++++++++++++++++++++++
 dev/r/search.json                               |   2 +-
 dev/r/sitemap.xml                               |  12 ++
 9 files changed, 528 insertions(+), 3 deletions(-)

diff --git a/dev/r/pkgdown.yml b/dev/r/pkgdown.yml
index 8e0a276..65736c2 100644
--- a/dev/r/pkgdown.yml
+++ b/dev/r/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 2.14.2
 pkgdown: 2.0.6
 pkgdown_sha: ~
 articles: {}
-last_built: 2022-09-03T01:06Z
+last_built: 2022-09-06T17:16Z
 
diff --git a/dev/r/reference/as_nanoarrow_array.html 
b/dev/r/reference/as_nanoarrow_array.html
new file mode 100644
index 0000000..3c08789
--- /dev/null
+++ b/dev/r/reference/as_nanoarrow_array.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta 
charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta 
name="viewport" content="width=device-width, initial-scale=1, 
shrink-to-fit=no"><meta name="description" content="In nanoarrow an 'array' 
refers to the struct ArrowArray definition
+in the Arrow C data interface. At the R level, we attach a
+schema such that functionally the nanoarrow_array
+class can be used in a similar way as an arrow::Array. Note that in
+nanoarrow an arrow::RecordBatch and a non-nullable arrow::StructArray
+are represented identically."><title>Convert an object to a nanoarrow array — 
as_nanoarrow_array • nanoarrow</title><script 
src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" 
content="width=device-width, initial-scale=1, shrink-to-fit=no"><link 
href="../deps/bootstrap-5.1.3/bootstrap.min.css" rel="stylesheet"><script 
src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><!-- Font 
Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.co [...]
+in the Arrow C data interface. At the R level, we attach a
+schema such that functionally the nanoarrow_array
+class can be used in a similar way as an arrow::Array. Note that in
+nanoarrow an arrow::RecordBatch and a non-nullable arrow::StructArray
+are represented identically."><!-- mathjax --><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"; 
integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" 
crossorigin="anonymous"></script><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js";
 integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" 
crossorigin="anonymous"></script><!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js";></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+<![endif]--></head><body>
+    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>
+    
+
+    <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div 
class="container">
+    
+    <a class="navbar-brand me-2" href="../index.html">nanoarrow</a>
+
+    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="">0.0.0.9000</small>
+
+    
+    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" 
data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" 
aria-label="Toggle navigation">
+      <span class="navbar-toggler-icon"></span>
+    </button>
+
+    <div id="navbar" class="collapse navbar-collapse ms-3">
+      <ul class="navbar-nav me-auto"><li class="active nav-item">
+  <a class="nav-link" href="../reference/index.html">Reference</a>
+</li>
+      </ul><form class="form-inline my-2 my-lg-0" role="search">
+        <input type="search" class="form-control me-sm-2" aria-label="Toggle 
navigation" name="search-input" data-search-index="../search.json" 
id="search-input" placeholder="Search for" autocomplete="off"></form>
+
+      <ul class="navbar-nav"><li class="nav-item">
+  <a class="external-link nav-link" 
href="https://github.com/apache/arrow-nanoarrow/"; aria-label="github">
+    <span class="fab fa fab fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul></div>
+
+    
+  </div>
+</nav><div class="container template-reference-topic">
+<div class="row">
+  <main id="main" class="col-md-9"><div class="page-header">
+      <img src="" class="logo" alt=""><h1>Convert an object to a nanoarrow 
array</h1>
+      <small class="dont-index">Source: <a 
href="https://github.com/apache/arrow-nanoarrow/blob/HEAD/R/array.R"; 
class="external-link"><code>R/array.R</code></a></small>
+      <div class="d-none name"><code>as_nanoarrow_array.Rd</code></div>
+    </div>
+
+    <div class="ref-description section level2">
+    <p>In nanoarrow an 'array' refers to the <code>struct ArrowArray</code> 
definition
+in the Arrow C data interface. At the R level, we attach a
+<a href="as_nanoarrow_schema.html">schema</a> such that functionally the 
nanoarrow_array
+class can be used in a similar way as an <a 
href="https://arrow.apache.org/docs/r/reference/array.html"; 
class="external-link">arrow::Array</a>. Note that in
+nanoarrow an <a 
href="https://arrow.apache.org/docs/r/reference/RecordBatch.html"; 
class="external-link">arrow::RecordBatch</a> and a non-nullable <a 
href="https://arrow.apache.org/docs/r/reference/array.html"; 
class="external-link">arrow::StructArray</a>
+are represented identically.</p>
+    </div>
+
+    <div class="section level2">
+    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" 
href="#ref-usage"></a></h2>
+    <div class="sourceCode"><pre class="sourceCode r"><code><span><span 
class="fu">as_nanoarrow_array</span><span class="op">(</span><span 
class="va">x</span>, <span class="va">...</span>, schema <span 
class="op">=</span> <span class="cn">NULL</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">from_nanoarrow_array</span><span 
class="op">(</span><span class="va">array</span>, to <span class="op">=</span> 
<span class="cn">NULL</span>, <span class="va">...</span><span 
class="op">)</span></span></code></pre></div>
+    </div>
+
+    <div class="section level2">
+    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" 
href="#arguments"></a></h2>
+    <dl><dt>x</dt>
+<dd><p>An object to convert to a array</p></dd>
+
+
+<dt>...</dt>
+<dd><p>Passed to S3 methods</p></dd>
+
+
+<dt>schema</dt>
+<dd><p>An optional schema used to enforce conversion to a particular
+type. Defaults to <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schema()</a></code>.</p></dd>
+
+
+<dt>array</dt>
+<dd><p>An object of class 'nanoarrow_array'</p></dd>
+
+
+<dt>to</dt>
+<dd><p>A target prototype object describing the type to which 
<code>array</code>
+should be converted.</p></dd>
+
+</dl></div>
+    <div class="section level2">
+    <h2 id="value">Value<a class="anchor" aria-label="anchor" 
href="#value"></a></h2>
+    
+
+<p>An object of class 'nanoarrow_array'</p>
+    </div>
+
+  </main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
+    </nav></aside></div>
+
+
+    <footer><div class="pkgdown-footer-left">
+  <p></p><p>Developed by Dewey Dunnington, Apache Arrow.</p>
+</div>
+
+<div class="pkgdown-footer-right">
+  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/"; 
class="external-link">pkgdown</a> 2.0.6.</p>
+</div>
+
+    </footer></div>
+
+  
+
+  
+
+  </body></html>
+
diff --git a/dev/r/reference/as_nanoarrow_array_stream.html 
b/dev/r/reference/as_nanoarrow_array_stream.html
new file mode 100644
index 0000000..11dc516
--- /dev/null
+++ b/dev/r/reference/as_nanoarrow_array_stream.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta 
charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta 
name="viewport" content="width=device-width, initial-scale=1, 
shrink-to-fit=no"><meta name="description" content="In nanoarrow, an 'array 
stream' corresponds to the struct ArrowArrayStream
+as defined in the Arrow C Stream interface. This object is used to represent
+a stream of arrays with a common
+schema. This is similar to an
+arrow::RecordBatchReader except it can be used to represent a stream of
+any type (not just record batches). Note that a stream of record batches
+and a stream of non-nullable struct arrays are represented identically.
+Also note that array streams are mutable objects and are passed by
+reference and not by value."><title>Convert an object to a nanoarrow 
array_stream — as_nanoarrow_array_stream • nanoarrow</title><script 
src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" 
content="width=device-width, initial-scale=1, shrink-to-fit=no"><link 
href="../deps/bootstrap-5.1.3/bootstrap.min.css" rel="stylesheet"><script 
src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><!-- Font 
Awesome icons --><link rel="stylesheet" href="https://cdnjs. [...]
+as defined in the Arrow C Stream interface. This object is used to represent
+a stream of arrays with a common
+schema. This is similar to an
+arrow::RecordBatchReader except it can be used to represent a stream of
+any type (not just record batches). Note that a stream of record batches
+and a stream of non-nullable struct arrays are represented identically.
+Also note that array streams are mutable objects and are passed by
+reference and not by value."><!-- mathjax --><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"; 
integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" 
crossorigin="anonymous"></script><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js";
 integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" 
crossorigin="anonymous"></script><!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js";></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+<![endif]--></head><body>
+    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>
+    
+
+    <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div 
class="container">
+    
+    <a class="navbar-brand me-2" href="../index.html">nanoarrow</a>
+
+    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="">0.0.0.9000</small>
+
+    
+    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" 
data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" 
aria-label="Toggle navigation">
+      <span class="navbar-toggler-icon"></span>
+    </button>
+
+    <div id="navbar" class="collapse navbar-collapse ms-3">
+      <ul class="navbar-nav me-auto"><li class="active nav-item">
+  <a class="nav-link" href="../reference/index.html">Reference</a>
+</li>
+      </ul><form class="form-inline my-2 my-lg-0" role="search">
+        <input type="search" class="form-control me-sm-2" aria-label="Toggle 
navigation" name="search-input" data-search-index="../search.json" 
id="search-input" placeholder="Search for" autocomplete="off"></form>
+
+      <ul class="navbar-nav"><li class="nav-item">
+  <a class="external-link nav-link" 
href="https://github.com/apache/arrow-nanoarrow/"; aria-label="github">
+    <span class="fab fa fab fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul></div>
+
+    
+  </div>
+</nav><div class="container template-reference-topic">
+<div class="row">
+  <main id="main" class="col-md-9"><div class="page-header">
+      <img src="" class="logo" alt=""><h1>Convert an object to a nanoarrow 
array_stream</h1>
+      <small class="dont-index">Source: <a 
href="https://github.com/apache/arrow-nanoarrow/blob/HEAD/R/array-stream.R"; 
class="external-link"><code>R/array-stream.R</code></a></small>
+      <div class="d-none name"><code>as_nanoarrow_array_stream.Rd</code></div>
+    </div>
+
+    <div class="ref-description section level2">
+    <p>In nanoarrow, an 'array stream' corresponds to the <code>struct 
ArrowArrayStream</code>
+as defined in the Arrow C Stream interface. This object is used to represent
+a stream of <a href="as_nanoarrow_array.html">arrays</a> with a common
+<a href="as_nanoarrow_schema.html">schema</a>. This is similar to an
+<a href="https://arrow.apache.org/docs/r/reference/RecordBatchReader.html"; 
class="external-link">arrow::RecordBatchReader</a> except it can be used to 
represent a stream of
+any type (not just record batches). Note that a stream of record batches
+and a stream of non-nullable struct arrays are represented identically.
+Also note that array streams are mutable objects and are passed by
+reference and not by value.</p>
+    </div>
+
+    <div class="section level2">
+    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" 
href="#ref-usage"></a></h2>
+    <div class="sourceCode"><pre class="sourceCode r"><code><span><span 
class="fu">as_nanoarrow_array_stream</span><span class="op">(</span><span 
class="va">x</span>, <span class="va">...</span>, schema <span 
class="op">=</span> <span class="cn">NULL</span><span 
class="op">)</span></span></code></pre></div>
+    </div>
+
+    <div class="section level2">
+    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" 
href="#arguments"></a></h2>
+    <dl><dt>x</dt>
+<dd><p>An object to convert to a array_stream</p></dd>
+
+
+<dt>...</dt>
+<dd><p>Passed to S3 methods</p></dd>
+
+
+<dt>schema</dt>
+<dd><p>An optional schema used to enforce conversion to a particular
+type. Defaults to <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schema()</a></code>.</p></dd>
+
+</dl></div>
+    <div class="section level2">
+    <h2 id="value">Value<a class="anchor" aria-label="anchor" 
href="#value"></a></h2>
+    
+
+<p>An object of class 'nanoarrow_array_stream'</p>
+    </div>
+
+  </main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
+    </nav></aside></div>
+
+
+    <footer><div class="pkgdown-footer-left">
+  <p></p><p>Developed by Dewey Dunnington, Apache Arrow.</p>
+</div>
+
+<div class="pkgdown-footer-right">
+  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/"; 
class="external-link">pkgdown</a> 2.0.6.</p>
+</div>
+
+    </footer></div>
+
+  
+
+  
+
+  </body></html>
+
diff --git a/dev/r/reference/as_nanoarrow_schema.html 
b/dev/r/reference/as_nanoarrow_schema.html
new file mode 100644
index 0000000..7bf940c
--- /dev/null
+++ b/dev/r/reference/as_nanoarrow_schema.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta 
charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta 
name="viewport" content="width=device-width, initial-scale=1, 
shrink-to-fit=no"><meta name="description" content="In nanoarrow a 'schema' 
refers to a struct ArrowSchema as defined in the
+Arrow C Data interface. This data structure can be used to represent an
+arrow::schema(), an arrow::field(), or an arrow::DataType. Note that
+in nanoarrow, an arrow::schema() and a non-nullable arrow::struct()
+are represented identically."><title>Convert an object to a nanoarrow schema — 
as_nanoarrow_schema • nanoarrow</title><script 
src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" 
content="width=device-width, initial-scale=1, shrink-to-fit=no"><link 
href="../deps/bootstrap-5.1.3/bootstrap.min.css" rel="stylesheet"><script 
src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><!-- Font 
Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare. [...]
+Arrow C Data interface. This data structure can be used to represent an
+arrow::schema(), an arrow::field(), or an arrow::DataType. Note that
+in nanoarrow, an arrow::schema() and a non-nullable arrow::struct()
+are represented identically."><!-- mathjax --><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"; 
integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" 
crossorigin="anonymous"></script><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js";
 integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" 
crossorigin="anonymous"></script><!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js";></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+<![endif]--></head><body>
+    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>
+    
+
+    <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div 
class="container">
+    
+    <a class="navbar-brand me-2" href="../index.html">nanoarrow</a>
+
+    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="">0.0.0.9000</small>
+
+    
+    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" 
data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" 
aria-label="Toggle navigation">
+      <span class="navbar-toggler-icon"></span>
+    </button>
+
+    <div id="navbar" class="collapse navbar-collapse ms-3">
+      <ul class="navbar-nav me-auto"><li class="active nav-item">
+  <a class="nav-link" href="../reference/index.html">Reference</a>
+</li>
+      </ul><form class="form-inline my-2 my-lg-0" role="search">
+        <input type="search" class="form-control me-sm-2" aria-label="Toggle 
navigation" name="search-input" data-search-index="../search.json" 
id="search-input" placeholder="Search for" autocomplete="off"></form>
+
+      <ul class="navbar-nav"><li class="nav-item">
+  <a class="external-link nav-link" 
href="https://github.com/apache/arrow-nanoarrow/"; aria-label="github">
+    <span class="fab fa fab fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul></div>
+
+    
+  </div>
+</nav><div class="container template-reference-topic">
+<div class="row">
+  <main id="main" class="col-md-9"><div class="page-header">
+      <img src="" class="logo" alt=""><h1>Convert an object to a nanoarrow 
schema</h1>
+      <small class="dont-index">Source: <a 
href="https://github.com/apache/arrow-nanoarrow/blob/HEAD/R/schema.R"; 
class="external-link"><code>R/schema.R</code></a></small>
+      <div class="d-none name"><code>as_nanoarrow_schema.Rd</code></div>
+    </div>
+
+    <div class="ref-description section level2">
+    <p>In nanoarrow a 'schema' refers to a <code>struct ArrowSchema</code> as 
defined in the
+Arrow C Data interface. This data structure can be used to represent an
+<code><a href="https://arrow.apache.org/docs/r/reference/Schema.html"; 
class="external-link">arrow::schema()</a></code>, an <code><a 
href="https://arrow.apache.org/docs/r/reference/Field.html"; 
class="external-link">arrow::field()</a></code>, or an <code><a 
href="https://arrow.apache.org/docs/r/reference/DataType.html"; 
class="external-link">arrow::DataType</a></code>. Note that
+in nanoarrow, an <code><a 
href="https://arrow.apache.org/docs/r/reference/Schema.html"; 
class="external-link">arrow::schema()</a></code> and a non-nullable <code><a 
href="https://arrow.apache.org/docs/r/reference/data-type.html"; 
class="external-link">arrow::struct()</a></code>
+are represented identically.</p>
+    </div>
+
+    <div class="section level2">
+    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" 
href="#ref-usage"></a></h2>
+    <div class="sourceCode"><pre class="sourceCode r"><code><span><span 
class="fu">as_nanoarrow_schema</span><span class="op">(</span><span 
class="va">x</span>, <span class="va">...</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">infer_nanoarrow_schema</span><span 
class="op">(</span><span class="va">x</span>, <span class="va">...</span><span 
class="op">)</span></span></code></pre></div>
+    </div>
+
+    <div class="section level2">
+    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" 
href="#arguments"></a></h2>
+    <dl><dt>x</dt>
+<dd><p>An object to convert to a schema</p></dd>
+
+
+<dt>...</dt>
+<dd><p>Passed to S3 methods</p></dd>
+
+</dl></div>
+    <div class="section level2">
+    <h2 id="value">Value<a class="anchor" aria-label="anchor" 
href="#value"></a></h2>
+    
+
+<p>An object of class 'nanoarrow_schema'</p>
+    </div>
+
+  </main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
+    </nav></aside></div>
+
+
+    <footer><div class="pkgdown-footer-left">
+  <p></p><p>Developed by Dewey Dunnington, Apache Arrow.</p>
+</div>
+
+<div class="pkgdown-footer-right">
+  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/"; 
class="external-link">pkgdown</a> 2.0.6.</p>
+</div>
+
+    </footer></div>
+
+  
+
+  
+
+  </body></html>
+
diff --git a/dev/r/reference/index.html b/dev/r/reference/index.html
index 5ddf223..30a4a81 100644
--- a/dev/r/reference/index.html
+++ b/dev/r/reference/index.html
@@ -53,9 +53,29 @@
 
       <dl><dt>
           
+          <code><a 
href="as_nanoarrow_array.html">as_nanoarrow_array()</a></code> <code><a 
href="as_nanoarrow_array.html">from_nanoarrow_array()</a></code> 
+        </dt>
+        <dd>Convert an object to a nanoarrow array</dd>
+      </dl><dl><dt>
+          
+          <code><a 
href="as_nanoarrow_array_stream.html">as_nanoarrow_array_stream()</a></code> 
+        </dt>
+        <dd>Convert an object to a nanoarrow array_stream</dd>
+      </dl><dl><dt>
+          
+          <code><a 
href="as_nanoarrow_schema.html">as_nanoarrow_schema()</a></code> <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schema()</a></code> 
+        </dt>
+        <dd>Convert an object to a nanoarrow schema</dd>
+      </dl><dl><dt>
+          
           <code><a 
href="nanoarrow_build_id.html">nanoarrow_build_id()</a></code> 
         </dt>
         <dd>Underlying 'nanoarrow' C library build</dd>
+      </dl><dl><dt>
+          
+          <code><a 
href="nanoarrow_pointer_is_valid.html">nanoarrow_pointer_is_valid()</a></code> 
<code><a 
href="nanoarrow_pointer_is_valid.html">nanoarrow_pointer_addr_dbl()</a></code> 
<code><a 
href="nanoarrow_pointer_is_valid.html">nanoarrow_pointer_addr_chr()</a></code> 
<code><a 
href="nanoarrow_pointer_is_valid.html">nanoarrow_pointer_release()</a></code> 
<code><a 
href="nanoarrow_pointer_is_valid.html">nanoarrow_pointer_move()</a></code> 
<code><a href="nanoarrow_pointer_is_valid.html" [...]
+        </dt>
+        <dd>Danger zone: low-level pointer operations</dd>
       </dl></div>
   </main></div>
 
diff --git a/dev/r/reference/nanoarrow_build_id.html 
b/dev/r/reference/nanoarrow_build_id.html
index 56ed72a..dc2a68e 100644
--- a/dev/r/reference/nanoarrow_build_id.html
+++ b/dev/r/reference/nanoarrow_build_id.html
@@ -69,7 +69,7 @@ was compiled against.</p>
     <div class="section level2">
     <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" 
href="#ref-examples"></a></h2>
     <div class="sourceCode"><pre class="sourceCode r"><code><span 
class="r-in"><span><span class="fu">nanoarrow_build_id</span><span 
class="op">(</span><span class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "f6PGEedj6V"</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "5z4blb1XIn"</span>
 <span class="r-in"><span></span></span>
 </code></pre></div>
     </div>
diff --git a/dev/r/reference/nanoarrow_pointer_is_valid.html 
b/dev/r/reference/nanoarrow_pointer_is_valid.html
new file mode 100644
index 0000000..a0ff768
--- /dev/null
+++ b/dev/r/reference/nanoarrow_pointer_is_valid.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html>
+<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta 
charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta 
name="viewport" content="width=device-width, initial-scale=1, 
shrink-to-fit=no"><meta name="description" content="The nanoarrow_schema,
+nanoarrow_array,
+and nanoarrow_array_stream classes are
+represented in R as external pointers (EXTPTRSXP). When these objects
+go out of scope (i.e., when they are garbage collected or shortly
+thereafter), the underlying object's release() callback is called if
+the underlying pointer is non-null and if the release() callback is
+non-null."><title>Danger zone: low-level pointer operations — 
nanoarrow_pointer_is_valid • nanoarrow</title><script 
src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" 
content="width=device-width, initial-scale=1, shrink-to-fit=no"><link 
href="../deps/bootstrap-5.1.3/bootstrap.min.css" rel="stylesheet"><script 
src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><!-- Font 
Awesome icons --><link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/l [...]
+nanoarrow_array,
+and nanoarrow_array_stream classes are
+represented in R as external pointers (EXTPTRSXP). When these objects
+go out of scope (i.e., when they are garbage collected or shortly
+thereafter), the underlying object's release() callback is called if
+the underlying pointer is non-null and if the release() callback is
+non-null."><!-- mathjax --><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"; 
integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" 
crossorigin="anonymous"></script><script 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js";
 integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" 
crossorigin="anonymous"></script><!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js";></script>
+<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+<![endif]--></head><body>
+    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>
+    
+
+    <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div 
class="container">
+    
+    <a class="navbar-brand me-2" href="../index.html">nanoarrow</a>
+
+    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="">0.0.0.9000</small>
+
+    
+    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" 
data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" 
aria-label="Toggle navigation">
+      <span class="navbar-toggler-icon"></span>
+    </button>
+
+    <div id="navbar" class="collapse navbar-collapse ms-3">
+      <ul class="navbar-nav me-auto"><li class="active nav-item">
+  <a class="nav-link" href="../reference/index.html">Reference</a>
+</li>
+      </ul><form class="form-inline my-2 my-lg-0" role="search">
+        <input type="search" class="form-control me-sm-2" aria-label="Toggle 
navigation" name="search-input" data-search-index="../search.json" 
id="search-input" placeholder="Search for" autocomplete="off"></form>
+
+      <ul class="navbar-nav"><li class="nav-item">
+  <a class="external-link nav-link" 
href="https://github.com/apache/arrow-nanoarrow/"; aria-label="github">
+    <span class="fab fa fab fa-github fa-lg"></span>
+     
+  </a>
+</li>
+      </ul></div>
+
+    
+  </div>
+</nav><div class="container template-reference-topic">
+<div class="row">
+  <main id="main" class="col-md-9"><div class="page-header">
+      <img src="" class="logo" alt=""><h1>Danger zone: low-level pointer 
operations</h1>
+      <small class="dont-index">Source: <a 
href="https://github.com/apache/arrow-nanoarrow/blob/HEAD/R/pointers.R"; 
class="external-link"><code>R/pointers.R</code></a></small>
+      <div class="d-none name"><code>nanoarrow_pointer_is_valid.Rd</code></div>
+    </div>
+
+    <div class="ref-description section level2">
+    <p>The <a href="as_nanoarrow_schema.html">nanoarrow_schema</a>,
+<a href="as_nanoarrow_array.html">nanoarrow_array</a>,
+and <a href="as_nanoarrow_array_stream.html">nanoarrow_array_stream</a> 
classes are
+represented in R as external pointers (<code>EXTPTRSXP</code>). When these 
objects
+go out of scope (i.e., when they are garbage collected or shortly
+thereafter), the underlying object's <code>release()</code> callback is called 
if
+the underlying pointer is non-null and if the <code>release()</code> callback 
is
+non-null.</p>
+    </div>
+
+    <div class="section level2">
+    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" 
href="#ref-usage"></a></h2>
+    <div class="sourceCode"><pre class="sourceCode r"><code><span><span 
class="fu">nanoarrow_pointer_is_valid</span><span class="op">(</span><span 
class="va">ptr</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_pointer_addr_dbl</span><span 
class="op">(</span><span class="va">ptr</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_pointer_addr_chr</span><span 
class="op">(</span><span class="va">ptr</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_pointer_release</span><span 
class="op">(</span><span class="va">ptr</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_pointer_move</span><span 
class="op">(</span><span class="va">ptr_src</span>, <span 
class="va">ptr_dst</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_pointer_export</span><span 
class="op">(</span><span class="va">ptr_src</span>, <span 
class="va">ptr_dst</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_allocate_schema</span><span 
class="op">(</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_allocate_array</span><span 
class="op">(</span><span class="op">)</span></span>
+<span></span>
+<span><span class="fu">nanoarrow_allocate_array_stream</span><span 
class="op">(</span><span class="op">)</span></span></code></pre></div>
+    </div>
+
+    <div class="section level2">
+    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" 
href="#arguments"></a></h2>
+    <dl><dt>ptr, ptr_src, ptr_dst</dt>
+<dd><p>An external pointer to a <code>struct ArrowSchema</code>,
+<code>struct ArrowArray</code>, or <code>struct 
ArrowArrayStream</code>.</p></dd>
+
+</dl></div>
+    <div class="section level2">
+    <h2 id="details">Details<a class="anchor" aria-label="anchor" 
href="#details"></a></h2>
+    <p>When interacting with other C Data Interface implementations, it is
+important to keep in mind that the R object wrapping these pointers is
+always passed by reference (because it is an external pointer) and may
+be referred to by another R object (e.g., an element in a <code><a 
href="https://rdrr.io/r/base/list.html"; class="external-link">list()</a></code> 
or as a
+variable assigned in a user's environment). When importing a schema,
+array, or array stream into nanoarrow this is not a problem: the R object
+takes ownership of the lifecycle and memory is released when the R
+object is garbage collected. In this case, one can use
+<code>nanoarrow_pointer_move()</code> where <code>ptr_dst</code> was created 
using
+<code>nanoarrow_allocate_*()</code>.</p>
+<p>The case of exporting is more complicated and as such has a dedicated
+function, <code>nanoarrow_pointer_export()</code>, that implements different 
logic
+schemas, arrays, and array streams:</p><ul><li><p>Schema objects are (deep) 
copied such that a fresh copy of the schema
+is exported and made the responsibility of some other C data interface
+implementation.</p></li>
+<li><p>Array objects are exported as a shell around the original array that
+preserves a reference to the R object. This ensures that the buffers
+and children pointed to by the array are not copied and that any references
+to the original array are not invalidated.</p></li>
+<li><p>Array stream objects are moved: the responsibility for the object is
+transferred to the other C data interface implementation and any
+references to the original R object are invalidated. Because these
+objects are mutable, this is typically what you want (i.e., you should
+not be pulling arrays from a stream accidentally from two places).</p></li>
+</ul><p>If you know the lifecycle of your object (i.e., you created the R 
object
+yourself and never passed references to it elsewhere), you can slightly
+more efficiently call <code>nanoarrow_pointer_move()</code> for all three 
pointer
+types.</p>
+    </div>
+
+  </main><aside class="col-md-3"><nav id="toc"><h2>On this page</h2>
+    </nav></aside></div>
+
+
+    <footer><div class="pkgdown-footer-left">
+  <p></p><p>Developed by Dewey Dunnington, Apache Arrow.</p>
+</div>
+
+<div class="pkgdown-footer-right">
+  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/"; 
class="external-link">pkgdown</a> 2.0.6.</p>
+</div>
+
+    </footer></div>
+
+  
+
+  
+
+  </body></html>
+
diff --git a/dev/r/search.json b/dev/r/search.json
index bb862be..9ba0d92 100644
--- a/dev/r/search.json
+++ b/dev/r/search.json
@@ -1 +1 @@
-[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title":"Apache License","text":"“License” shall mean terms 
conditions use, reproduction, distribution defined Sections 1 9 [...]
+[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title":"Apache License","text":"“License” shall mean terms 
conditions use, reproduction, distribution defined Sections 1 9 [...]
diff --git a/dev/r/sitemap.xml b/dev/r/sitemap.xml
index 232ddcb..43aae35 100644
--- a/dev/r/sitemap.xml
+++ b/dev/r/sitemap.xml
@@ -12,6 +12,15 @@
   <url>
     <loc>/index.html</loc>
   </url>
+  <url>
+    <loc>/reference/as_nanoarrow_array.html</loc>
+  </url>
+  <url>
+    <loc>/reference/as_nanoarrow_array_stream.html</loc>
+  </url>
+  <url>
+    <loc>/reference/as_nanoarrow_schema.html</loc>
+  </url>
   <url>
     <loc>/reference/index.html</loc>
   </url>
@@ -21,4 +30,7 @@
   <url>
     <loc>/reference/nanoarrow_build_id.html</loc>
   </url>
+  <url>
+    <loc>/reference/nanoarrow_pointer_is_valid.html</loc>
+  </url>
 </urlset>

Reply via email to