% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/extension.R
\name{infer_nanoarrow_ptype_extension}
\alias{infer_nanoarrow_ptype_extension}
\alias{convert_array_extension}
\alias{as_nanoarrow_array_extension}
\title{Implement Arrow extension types}
\usage{
infer_nanoarrow_ptype_extension(
  extension_spec,
  x,
  ...,
  warn_unregistered = TRUE
)

convert_array_extension(
  extension_spec,
  array,
  to,
  ...,
  warn_unregistered = TRUE
)

as_nanoarrow_array_extension(extension_spec, x, ..., schema = NULL)
}
\arguments{
\item{extension_spec}{An extension specification inheriting from
'nanoarrow_extension_spec'.}

\item{x, array, to, schema, ...}{Passed from \code{\link[=infer_nanoarrow_ptype]{infer_nanoarrow_ptype()}},
\code{\link[=convert_array]{convert_array()}}, \code{\link[=as_nanoarrow_array]{as_nanoarrow_array()}}, and/or
\code{\link[=as_nanoarrow_array_stream]{as_nanoarrow_array_stream()}}.}

\item{warn_unregistered}{Use \code{FALSE} to infer/convert based on the storage
type without a warning.}
}
\value{
\itemize{
\item \code{infer_nanoarrow_ptype_extension()}: The R vector prototype to be used
as the default conversion target.
\item \code{convert_array_extension()}: An R vector of type \code{to}.
\item \code{as_nanoarrow_array_extension()}: A \link[=as_nanoarrow_array]{nanoarrow_array}
of type \code{schema}.
}
}
\description{
Implement Arrow extension types
}
