Package 'RApiSerialize'

Title: R API Serialization
Description: Access to the internal R serialization code is provided for use by other packages at the C function level by using the registration of native function mechanism. Client packages simply include a single header file RApiSerializeAPI.h provided by this package. This packages builds on the Rhpc package by Ei-ji Nakama and Junji Nakano which also includes a (partial) copy of the file src/main/serialize.c from R itself. The R Core group is the original author of the serialization code made available by this package.
Authors: Dirk Eddelbuettel [aut, cre] , Ei-ji Nakama [aut] (Code in package Rhpc), Junji Nakano [aut] (Code in package Rhpc), R Core [aut] (Code in R file src/main/serialize.c)
Maintainer: Dirk Eddelbuettel <[email protected]>
License: GPL (>= 2)
Version: 0.1.4
Built: 2024-09-28 17:13:53 UTC
Source: https://github.com/eddelbuettel/rapiserialize

Help Index


R API for Serialization

Description

This package provides other packages with access to the internal R serialization code. Access is provided at the C function level via the registered function facility

For convenience and testing purposes, two wrapper functions are also provided at the R level.

Usage

serializeToRaw(obj, version=2, xdr=TRUE)
  unserializeFromRaw(obj)

Arguments

obj

An R object which is going to (un)serialized by the corresponding function.

version

An integer selection the R serialization format. Default is 2, and values 2 or 3 are currently supported.

xdr

A logical value selection (portable) XDR encoding which is the default. Use FALSE for speed-up suitable for common little-endian system at a loss of portability.

Details

The C code in this package is taken from R source code, where it provided for use by R only in a way that renders it inaccessible to other packages.

This package aims to fill this gap by providing access to the same functionality, at the cost of making a copy.

To use the serialization and deserialization code provided here, a client package simply adds LinkingTo: RApiSerialize in its DESCRIPTION file and includes the header file RApiSerializeAPI.h.

Author(s)

Dirk Eddelbuettel put together this package, based on earlier work by Ei-ji Nakama and Junji Nakano who also included the C code from R for serialization in their Rhpc package. R Core wrote the underlying C code for use in R itself.

The package is maintained by Dirk Eddelbuettel.

See Also

The R source code in src/main/serialize.c.

Examples

## calling the R wrapper 
  serializeToRaw(letters)