serialize                package:base                R Documentation

_S_i_m_p_l_e _S_e_r_i_a_l_i_z_a_t_i_o_n _I_n_t_e_r_f_a_c_e

_D_e_s_c_r_i_p_t_i_o_n:

     A simple low-level interface for serializing to connections.

_U_s_a_g_e:

     serialize(object, connection, ascii = FALSE, refhook = NULL)

     unserialize(connection, refhook = NULL)

_A_r_g_u_m_e_n_t_s:

  object: R object to serialize.

connection: an open connection or (for 'serialize') 'NULL' or (for
          'unserialize') a raw vector (see 'Details').

   ascii: a logical.  If 'TRUE', an ASCII representation is written;
          otherwise (default except for text-mode connections), a more
          compact binary one is used.

 refhook: a hook function for handling reference objects.

_D_e_t_a_i_l_s:

     The function 'serialize' writes 'object' to the specified
     connection.  If 'connection' is 'NULL' then 'object' is serialized
     to a raw vector, which is returned as the result of 'serialize'.

     Sharing of reference objects is preserved within the object but
     not across separate calls to 'serialize'.

     'unserialize' reads an object (as written by 'serialize') from
     'connection' or a raw vector.

     The 'refhook' functions can be used to customize handling of
     non-system reference objects (all external pointers and weak
     references, and all environments other than name space and package
     environments and '.GlobalEnv').  The hook function for 'serialize'
     should return a raw vector for references it wants to handle;
     otherwise it should return 'NULL'.  The hook for 'unserialize'
     will be called with raw vectors supplied to 'serialize' and should
     return an appropriate object.

     For a text-mode connection, the default value of 'ascii' is set to
     'TRUE': only ASCII representations can be written to text-mode
     connections and attempting to use 'ascii = FALSE' will throw an
     error.

_V_a_l_u_e:

     For 'serialize', 'NULL' unless 'connection = NULL', when the
     result is returned in a raw vector.

     For 'unserialize' an R object.

_W_a_r_n_i_n_g:

     These functions are still experimental.  Names, interfaces and
     values might change in future versions (and the value of
     'serialize' was changed for R 2.4.0).

     A raw vector is limited to 2^31 - 1 bytes, but R objects can
     exceed this and their serializations will normally be larger than
     the objects.

_E_x_a_m_p_l_e_s:

     x <- serialize(list(1,2,3), NULL)
     unserialize(x)

