Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 3736f276bb1ccfbcee6cb2d27b25d981 > files > 155

openscap-devel-0.5.7-1mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Open SCAP Library: S-expression manipulation.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>S-expression manipulation.<br/>
<small>
[<a class="el" href="group__PROBES.html">Probes and S-expression</a>]</small>
</h1>
<p>S-expression manipulation functions.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sexp-manip_8h.html">sexp-manip.h</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga88cdd7705eac27040c29a4b174797158">SEXP_number_newi</a>&nbsp;&nbsp;&nbsp;SEXP_number_newi_32</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an integer.  <a href="#ga88cdd7705eac27040c29a4b174797158"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga6c9eaecc1f1f64f65f2eb82048ae424a">SEXP_number_geti</a>&nbsp;&nbsp;&nbsp;SEXP_number_geti_32</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get integer value from a sexp object.  <a href="#ga6c9eaecc1f1f64f65f2eb82048ae424a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga0ed932bb9217034acb9850bef38111aa">SEXP_number_newu</a>&nbsp;&nbsp;&nbsp;SEXP_number_newu_32</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an unsigned integer.  <a href="#ga0ed932bb9217034acb9850bef38111aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga2c94dfa1cb0df428abf39574500479e5">SEXP_number_getu</a>&nbsp;&nbsp;&nbsp;SEXP_number_getu_32</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unsigned integer value from a sexp object.  <a href="#ga2c94dfa1cb0df428abf39574500479e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e23f75287c37b21c78623795a80080a"></a><!-- doxytag: member="SEXPMANIP::SEXP_IT_RECURSIVE" ref="ga3e23f75287c37b21c78623795a80080a" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_IT_RECURSIVE</b>&nbsp;&nbsp;&nbsp;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99f715ffacbb2b16ed09219850eea3c5"></a><!-- doxytag: member="SEXPMANIP::SEXP_IT_HARDREF" ref="ga99f715ffacbb2b16ed09219850eea3c5" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_IT_HARDREF</b>&nbsp;&nbsp;&nbsp;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac0946a08cc606c4d98cc52c24a103e6f"></a><!-- doxytag: member="SEXPMANIP::SEXP_free" ref="gac0946a08cc606c4d98cc52c24a103e6f" args="(ptr)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_free</b>(ptr)&nbsp;&nbsp;&nbsp;__SEXP_free (ptr, __FILE__, __LINE__, __PRETTY_FUNCTION__)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga54fe65f5858aa4e2c50661268ecb1c6a"></a><!-- doxytag: member="SEXPMANIP::SEXP_vfree" ref="ga54fe65f5858aa4e2c50661268ecb1c6a" args="(...)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_vfree</b>(...)&nbsp;&nbsp;&nbsp;__SEXP_vfree (__FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab48b0175fb18684a56fbde940c8ff16a"></a><!-- doxytag: member="SEXPMANIP::SEXP_VALIDATE" ref="gab48b0175fb18684a56fbde940c8ff16a" args="(s)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_VALIDATE</b>(s)&nbsp;&nbsp;&nbsp;__SEXP_VALIDATE(s, __FILE__, __LINE__, __PRETTY_FUNCTION__)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa76cf6e67da948af0ace29d83c4b2bf0"></a><!-- doxytag: member="SEXPMANIP::SEXP_it_t" ref="gaa76cf6e67da948af0ace29d83c4b2bf0" args="" -->
typedef struct <a class="el" href="structSEXP__it.html">SEXP_it</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_it_t</b></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gab853e2b374cd9dca2476b74f848926cb">SEXP_number_new</a> (SEXP_numtype_t t, const void *n) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(2)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from a value and a number type.  <a href="#gab853e2b374cd9dca2476b74f848926cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga911846f8fc016a6a247d0f43c66a18b2">SEXP_number_newb</a> (bool n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from a boolean value.  <a href="#ga911846f8fc016a6a247d0f43c66a18b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaa3a02f29f107527c774e6b06c16256a2">SEXP_number_newi_8</a> (int8_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an integer.  <a href="#gaa3a02f29f107527c774e6b06c16256a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaa29445f0462c0f279963638bb3d07b1b">SEXP_number_newu_8</a> (uint8_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an unsigned integer.  <a href="#gaa29445f0462c0f279963638bb3d07b1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gad6cbd9f380d3fa8f93ea2a776809edf8">SEXP_number_getu_8</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unsigned integer value from a sexp object.  <a href="#gad6cbd9f380d3fa8f93ea2a776809edf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gae818ddbc1b844dee4886298487f45bac">SEXP_number_newi_16</a> (int16_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an integer.  <a href="#gae818ddbc1b844dee4886298487f45bac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga2fbad0e20a340ee3b2b1d4ff780ac601">SEXP_number_newu_16</a> (uint16_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an unsigned integer.  <a href="#ga2fbad0e20a340ee3b2b1d4ff780ac601"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga7b956257ee8aac24f5e66ca9cfeb4a4d">SEXP_number_newi_32</a> (int32_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an integer.  <a href="#ga7b956257ee8aac24f5e66ca9cfeb4a4d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga75c71219c39bfa492436f2534e915010">SEXP_number_geti_32</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get integer value from a sexp object.  <a href="#ga75c71219c39bfa492436f2534e915010"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gacb248b380bca2b88445c0e376a5b65c2">SEXP_number_getb</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get boolean value from a sexp object.  <a href="#gacb248b380bca2b88445c0e376a5b65c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaf9353ab46d28eeb729bbc9ae434b4b0e">SEXP_number_newu_32</a> (uint32_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an unsigned integer.  <a href="#gaf9353ab46d28eeb729bbc9ae434b4b0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gacab074ed687b15a638609b14b3974ab0">SEXP_number_getu_32</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unsigned integer value from a sexp object.  <a href="#gacab074ed687b15a638609b14b3974ab0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gae6ccac2220a69e61a393e9f7642410fa">SEXP_number_newi_64</a> (int64_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an integer.  <a href="#gae6ccac2220a69e61a393e9f7642410fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gafa22f9fac43ad37dfc09ca359a867a51">SEXP_number_geti_64</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get integer value from a sexp object.  <a href="#gafa22f9fac43ad37dfc09ca359a867a51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gad34cabeaf9b278935bef6bc338ce9bea">SEXP_number_newu_64</a> (uint64_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an unsigned integer.  <a href="#gad34cabeaf9b278935bef6bc338ce9bea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga18fd6599d74564c17376b80dff881ab0">SEXP_number_getu_64</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unsigned integer value from a sexp object.  <a href="#ga18fd6599d74564c17376b80dff881ab0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga787652a3de427f96a8ca8fb8d52f4992">SEXP_number_newf</a> (double n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from an floating point value.  <a href="#ga787652a3de427f96a8ca8fb8d52f4992"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga1d4b4c86fab5992aa439a47f8af92190">SEXP_number_getf</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get floating point value from a sexp object.  <a href="#ga1d4b4c86fab5992aa439a47f8af92190"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga9b392924764145a02ff6c549dfd26d9c">SEXP_number_get</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, void *dst, SEXP_numtype_t type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a value from a sexp object according to a specified type.  <a href="#ga9b392924764145a02ff6c549dfd26d9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga3c00041f8c7e3a5dfb18bb3b30466e37">SEXP_number_getu_16</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unsigned integer value from a sexp object.  <a href="#ga3c00041f8c7e3a5dfb18bb3b30466e37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga0ef7afdcedb92279a58ce9ee0f224a1d">SEXP_number_free</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the specified sexp object.  <a href="#ga0ef7afdcedb92279a58ce9ee0f224a1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga6e604a242bf6246a03696a3d80f666ee">SEXP_numberp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the provided sexp object is a number.  <a href="#ga6e604a242bf6246a03696a3d80f666ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SEXP_numtype_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga4e5c0f3e6a56eec10e7f1165939284c0">SEXP_number_type</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *sexp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number type of an object.  <a href="#ga4e5c0f3e6a56eec10e7f1165939284c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga8741d27eb1aa8cf2f052a2d892f08f1e">SEXP_string_new</a> (const void *string, size_t strlen) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(1)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from a string.  <a href="#ga8741d27eb1aa8cf2f052a2d892f08f1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gafde2b9a3a03452d752835e050eea9349">SEXP_string_newf</a> (const char *format,...) <a class="el" href="struct____attribute____.html">__attribute__</a>((format(printf</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp object from a format string.  <a href="#gafde2b9a3a03452d752835e050eea9349"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff3e0830e5414d3b34d1b4ef3055f14e"></a><!-- doxytag: member="SEXPMANIP::nonnull" ref="gaff3e0830e5414d3b34d1b4ef3055f14e" args="(1)))" -->
<a class="el" href="structSEXP.html">SEXP_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>nonnull</b> (1)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga421532c375fbb742923c452bc52c27fa">SEXP_string_free</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the specified sexp object.  <a href="#ga421532c375fbb742923c452bc52c27fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaff64360f9c06d07c15295a4631eede9f">SEXP_stringp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the provided sexp object is a string.  <a href="#gaff64360f9c06d07c15295a4631eede9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga105b4f4551faf6114e53fa9701e966d5">SEXP_string_length</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length of a string in a sexp object.  <a href="#ga105b4f4551faf6114e53fa9701e966d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga59353fe1a436c8a3003ff93cfd28a747">SEXP_strcmp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, const char *str) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(2)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare a string in a sexp object with a C string.  <a href="#ga59353fe1a436c8a3003ff93cfd28a747"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaf2e92003af59b53145cfc23ea5e8cefa">SEXP_strncmp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, const char *str, size_t n) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(2)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare a string in a sexp object with a C string.  <a href="#gaf2e92003af59b53145cfc23ea5e8cefa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gad91eec2b56af04fa7352fbebe4bb6a68">SEXP_string_nth</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, size_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the n-th byte of a string.  <a href="#gad91eec2b56af04fa7352fbebe4bb6a68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9f1a251871b6d7f08b3ebcd221f20de"></a><!-- doxytag: member="SEXPMANIP::SEXP_string_cstr" ref="gaa9f1a251871b6d7f08b3ebcd221f20de" args="(const SEXP_t *s_exp)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaa9f1a251871b6d7f08b3ebcd221f20de">SEXP_string_cstr</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a C string from a sexp object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaba4e73db0910e4cdcd05f0954d7c94d8">SEXP_string_cstr_r</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, char *buf, size_t len) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(2)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a C string from a sexp object.  <a href="#gaba4e73db0910e4cdcd05f0954d7c94d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa840bf69073129e9f408dcc6614333de"></a><!-- doxytag: member="SEXPMANIP::SEXP_string_cstrp" ref="gaa840bf69073129e9f408dcc6614333de" args="(const SEXP_t *s_exp)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaa840bf69073129e9f408dcc6614333de">SEXP_string_cstrp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obsolete function. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gac7ba7c8f270dd20fa3ef9eb36169cf73">SEXP_string_subcstr</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, size_t beg, size_t len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a C substring from a sexp object.  <a href="#gac7ba7c8f270dd20fa3ef9eb36169cf73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga3e4383dcb6f96558b5643ad747d501b6">SEXP_string_cmp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *str_a, const <a class="el" href="structSEXP.html">SEXP_t</a> *str_b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two sexp strings.  <a href="#ga3e4383dcb6f96558b5643ad747d501b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga0bed70ee87aa8a1468da0766f30a2d49">SEXP_list_new</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *memb,...)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sexp list, optionally initialized with the provided sexp arguments.  <a href="#ga0bed70ee87aa8a1468da0766f30a2d49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga080ba170147ff68e7c2cbe524d7ef989">SEXP_list_free</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the specified sexp object.  <a href="#ga080ba170147ff68e7c2cbe524d7ef989"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga07e8116610a355783f2c6368759b3227">SEXP_listp</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the provided sexp object is a list.  <a href="#ga07e8116610a355783f2c6368759b3227"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga068f5fbd0f5570d282bbdad6167682fc">SEXP_list_length</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length of the sexp list.  <a href="#ga068f5fbd0f5570d282bbdad6167682fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga3945a43f7c84b10ec2a2cd93235caf56">SEXP_list_first</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the first element of a list.  <a href="#ga3945a43f7c84b10ec2a2cd93235caf56"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga89f3f2ab5d95c13ca42483f0310c7207">SEXP_list_rest</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rest of a list.  <a href="#ga89f3f2ab5d95c13ca42483f0310c7207"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gabd24f147a04deec43b6c190bd84e3dc3">SEXP_list_last</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last element of a list.  <a href="#gabd24f147a04deec43b6c190bd84e3dc3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaf9cfba9895908c4705a9cf9a1044ab0a">SEXP_list_nth</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list, uint32_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the n-th element of a list.  <a href="#gaf9cfba9895908c4705a9cf9a1044ab0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaca27766b23ee2eb0ccbe3eaf6a12585a">SEXP_list_add</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list, const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an element to a list.  <a href="#gaca27766b23ee2eb0ccbe3eaf6a12585a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga57fc2142d95669252504f4c956a165c4">SEXP_list_join</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list_a, const <a class="el" href="structSEXP.html">SEXP_t</a> *list_b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new list containing the concatenated contents of two lists.  <a href="#ga57fc2142d95669252504f4c956a165c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga1cfcddb82d44f56a4c86e4b9dc92b6da">SEXP_list_push</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list, const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push an element to the head of a list.  <a href="#ga1cfcddb82d44f56a4c86e4b9dc92b6da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga58373be5d72a973c4ee1623e3054ed79">SEXP_list_pop</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extract the first element of a list.  <a href="#ga58373be5d72a973c4ee1623e3054ed79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga44d6b420de441d2ec06889547806f78d">SEXP_list_replace</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list, uint32_t n, const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace the n-th element of a list.  <a href="#ga44d6b420de441d2ec06889547806f78d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga6257b4e02c221bf7abee8b7f7f9543de">SEXP_listref_first</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the first element of a list.  <a href="#ga6257b4e02c221bf7abee8b7f7f9543de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gab2d9e9f446f780614d54d5774f3fd939">SEXP_listref_rest</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rest of a list.  <a href="#gab2d9e9f446f780614d54d5774f3fd939"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga1c7e7156db1cdb031f70f69639a54391">SEXP_listref_last</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last element of a list.  <a href="#ga1c7e7156db1cdb031f70f69639a54391"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gafc42e152c5d53c53e154ee40b17cdd9e">SEXP_listref_nth</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list, uint32_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the n-th element of a list.  <a href="#gafc42e152c5d53c53e154ee40b17cdd9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga77c391c86d393901234c58c878025140"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_new" ref="ga77c391c86d393901234c58c878025140" args="(const SEXP_t *list, int flags)" -->
<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_new</b> (const <a class="el" href="structSEXP.html">SEXP_t</a> *list, int flags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga987e5c716b5f87382a336cc7f09414bd"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_next" ref="ga987e5c716b5f87382a336cc7f09414bd" args="(SEXP_it_t *it)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_next</b> (<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *it)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga990df0f1ebec926356c86c7dfef04b72"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_prev" ref="ga990df0f1ebec926356c86c7dfef04b72" args="(SEXP_it_t *it)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_prev</b> (<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *it)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga891a63272971ce1d1fc2650f9abb4d87"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_length" ref="ga891a63272971ce1d1fc2650f9abb4d87" args="(SEXP_it_t *it)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_length</b> (<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *it)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f5931f70a38d9bd2e79e8c2b624b558"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_seek" ref="ga7f5931f70a38d9bd2e79e8c2b624b558" args="(SEXP_it_t *it, uint32_t n)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_seek</b> (<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *it, uint32_t n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga69a9967a11ff4fd53f1f29772e59608d"></a><!-- doxytag: member="SEXPMANIP::SEXP_listit_free" ref="ga69a9967a11ff4fd53f1f29772e59608d" args="(SEXP_it_t *it)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_listit_free</b> (<a class="el" href="structSEXP__it.html">SEXP_it_t</a> *it)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d8b1f84f4b6baf8011e0179b00ac2e7"></a><!-- doxytag: member="SEXPMANIP::SEXP_new" ref="ga0d8b1f84f4b6baf8011e0179b00ac2e7" args="(void)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_new</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga2cc6cb5fcad251b8c5e4eb2a604a2ae4">SEXP_ref</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new reference to a sexp object.  <a href="#ga2cc6cb5fcad251b8c5e4eb2a604a2ae4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga43e03b844ec73197bbd577112121f1a8"></a><!-- doxytag: member="SEXPMANIP::SEXP_unref" ref="ga43e03b844ec73197bbd577112121f1a8" args="(SEXP_t *s_exp_o)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_unref</b> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp_o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaeb1fb855d020bc8ee030795db519802d">SEXP_softref</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new soft reference to a sexp object.  <a href="#gaeb1fb855d020bc8ee030795db519802d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1ecf913dff45626cd98d14aeef6a85b4"></a><!-- doxytag: member="SEXPMANIP::__SEXP_free" ref="ga1ecf913dff45626cd98d14aeef6a85b4" args="(SEXP_t *s_exp, const char *file, uint32_t line, const char *func)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>__SEXP_free</b> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, const char *file, uint32_t line, const char *func)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadd2bbdaa2617c56150b26592c343be96"></a><!-- doxytag: member="SEXPMANIP::__SEXP_vfree" ref="gadd2bbdaa2617c56150b26592c343be96" args="(const char *file, uint32_t line, const char *func, SEXP_t *s_exp,...)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>__SEXP_vfree</b> (const char *file, uint32_t line, const char *func, <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gadfa2e529c7e779f8ef1c21a84ae32a72">SEXP_datatype</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the user data type of a sexp object.  <a href="#gadfa2e529c7e779f8ef1c21a84ae32a72"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gaa4bde669d7e595ea9059b4b6387a15b2">SEXP_datatype_set</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, const char *name) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(2)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the user data type of a sexp object.  <a href="#gaa4bde669d7e595ea9059b4b6387a15b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga722eb1e7c93e22d2b2412983ccb88195">SEXP_datatype_set_nth</a> (<a class="el" href="structSEXP.html">SEXP_t</a> *list, uint32_t n, const char *name) <a class="el" href="struct____attribute____.html">__attribute__</a>((nonnull(3)))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the user data type of the nth sexp object in a list.  <a href="#ga722eb1e7c93e22d2b2412983ccb88195"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SEXP_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#gac20aeb60da4207f9fa0b6bf056864eec">SEXP_typeof</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type of a sexp object.  <a href="#gac20aeb60da4207f9fa0b6bf056864eec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEXPMANIP.html#ga2ff190ded3d3563e9553734ab5fa0cd4">SEXP_strtype</a> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a text description of the sexp object's type.  <a href="#ga2ff190ded3d3563e9553734ab5fa0cd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadbea0abfbf5700546cdd929d4fe36c84"></a><!-- doxytag: member="SEXPMANIP::SEXP_build" ref="gadbea0abfbf5700546cdd929d4fe36c84" args="(const char *s_str,...)" -->
<a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_build</b> (const char *s_str,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga915466d91e2d1d1805951a2e6885bf45"></a><!-- doxytag: member="SEXPMANIP::SEXP_sizeof" ref="ga915466d91e2d1d1805951a2e6885bf45" args="(const SEXP_t *s_exp)" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>SEXP_sizeof</b> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafceecfe00f4185bf3d4775d19d265b5b"></a><!-- doxytag: member="SEXPMANIP::__SEXP_VALIDATE" ref="gafceecfe00f4185bf3d4775d19d265b5b" args="(const SEXP_t *s_exp, const char *file, uint32_t line, const char *func)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>__SEXP_VALIDATE</b> (const <a class="el" href="structSEXP.html">SEXP_t</a> *s_exp, const char *file, uint32_t line, const char *func)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>S-expression manipulation functions. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga6c9eaecc1f1f64f65f2eb82048ae424a"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_geti" ref="ga6c9eaecc1f1f64f65f2eb82048ae424a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SEXP_number_geti&nbsp;&nbsp;&nbsp;SEXP_number_geti_32</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get integer value from a sexp object. </p>
<p>The size of the integer may be architecture dependent. </p>

</div>
</div>
<a class="anchor" id="ga2c94dfa1cb0df428abf39574500479e5"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getu" ref="ga2c94dfa1cb0df428abf39574500479e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SEXP_number_getu&nbsp;&nbsp;&nbsp;SEXP_number_getu_32</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unsigned integer value from a sexp object. </p>
<p>The size of the integer may be architecture dependent. </p>

</div>
</div>
<a class="anchor" id="ga88cdd7705eac27040c29a4b174797158"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newi" ref="ga88cdd7705eac27040c29a4b174797158" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SEXP_number_newi&nbsp;&nbsp;&nbsp;SEXP_number_newi_32</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an integer. </p>
<p>The size of the integer may be architecture dependent. </p>

</div>
</div>
<a class="anchor" id="ga0ed932bb9217034acb9850bef38111aa"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newu" ref="ga0ed932bb9217034acb9850bef38111aa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SEXP_number_newu&nbsp;&nbsp;&nbsp;SEXP_number_newu_32</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an unsigned integer. </p>
<p>The size of the integer may be architecture dependent. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gadfa2e529c7e779f8ef1c21a84ae32a72"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_datatype" ref="gadfa2e529c7e779f8ef1c21a84ae32a72" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="structSEXP__datatype.html">SEXP_datatype</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the user data type of a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be queried </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa4bde669d7e595ea9059b4b6387a15b2"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_datatype_set" ref="gaa4bde669d7e595ea9059b4b6387a15b2" args="(SEXP_t *s_exp, const char *name) __attribute__((nonnull(2)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_datatype_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the user data type of a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be modified </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga722eb1e7c93e22d2b2412983ccb88195"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_datatype_set_nth" ref="ga722eb1e7c93e22d2b2412983ccb88195" args="(SEXP_t *list, uint32_t n, const char *name) __attribute__((nonnull(3)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_datatype_set_nth </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the user data type of the nth sexp object in a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>list containing the object to be modified </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the position of the object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of the user data type </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaca27766b23ee2eb0ccbe3eaf6a12585a"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_add" ref="gaca27766b23ee2eb0ccbe3eaf6a12585a" args="(SEXP_t *list, const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an element to a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the modified sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the element to be added </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3945a43f7c84b10ec2a2cd93235caf56"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_first" ref="ga3945a43f7c84b10ec2a2cd93235caf56" args="(const SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_first </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the first element of a list. </p>
<p>This function increments element's reference count </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga080ba170147ff68e7c2cbe524d7ef989"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_free" ref="ga080ba170147ff68e7c2cbe524d7ef989" args="(SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SEXP_list_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free the specified sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be freed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga57fc2142d95669252504f4c956a165c4"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_join" ref="ga57fc2142d95669252504f4c956a165c4" args="(const SEXP_t *list_a, const SEXP_t *list_b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_join </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list_b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new list containing the concatenated contents of two lists. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list_a</em>&nbsp;</td><td>the first list to be contatenated </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list_b</em>&nbsp;</td><td>the list to be attached to the first one </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gabd24f147a04deec43b6c190bd84e3dc3"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_last" ref="gabd24f147a04deec43b6c190bd84e3dc3" args="(const SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_last </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the last element of a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga068f5fbd0f5570d282bbdad6167682fc"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_length" ref="ga068f5fbd0f5570d282bbdad6167682fc" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t SEXP_list_length </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the length of the sexp list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_sexp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga0bed70ee87aa8a1468da0766f30a2d49"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_new" ref="ga0bed70ee87aa8a1468da0766f30a2d49" args="(SEXP_t *memb,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>memb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp list, optionally initialized with the provided sexp arguments. </p>
<p>The argument list needs to be terminated with NULL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>memb</em>&nbsp;</td><td>the first sexp object to be inserted into the new list. can be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>arbitrary number of elements to be inserted </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf9cfba9895908c4705a9cf9a1044ab0a"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_nth" ref="gaf9cfba9895908c4705a9cf9a1044ab0a" args="(const SEXP_t *list, uint32_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_nth </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the n-th element of a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the position of the element in the list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga58373be5d72a973c4ee1623e3054ed79"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_pop" ref="ga58373be5d72a973c4ee1623e3054ed79" args="(SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_pop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Extract the first element of a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the modified sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1cfcddb82d44f56a4c86e4b9dc92b6da"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_push" ref="ga1cfcddb82d44f56a4c86e4b9dc92b6da" args="(SEXP_t *list, const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_push </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push an element to the head of a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the modified sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the element to be added </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga44d6b420de441d2ec06889547806f78d"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_replace" ref="ga44d6b420de441d2ec06889547806f78d" args="(SEXP_t *list, uint32_t n, const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_replace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replace the n-th element of a list. </p>
<p>This function increments element's reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the modified sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the index of the element to be replaced </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the element to be added </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the replaced element </dd></dl>

</div>
</div>
<a class="anchor" id="ga89f3f2ab5d95c13ca42483f0310c7207"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_list_rest" ref="ga89f3f2ab5d95c13ca42483f0310c7207" args="(const SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_list_rest </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the rest of a list. </p>
<p>This function increments elements' reference count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga07e8116610a355783f2c6368759b3227"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_listp" ref="ga07e8116610a355783f2c6368759b3227" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SEXP_listp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether the provided sexp object is a list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object to be tested </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6257b4e02c221bf7abee8b7f7f9543de"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_listref_first" ref="ga6257b4e02c221bf7abee8b7f7f9543de" args="(SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_listref_first </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the first element of a list. </p>
<p>This function creates a soft reference to the element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1c7e7156db1cdb031f70f69639a54391"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_listref_last" ref="ga1c7e7156db1cdb031f70f69639a54391" args="(SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_listref_last </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the last element of a list. </p>
<p>This function creates a soft reference to the element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafc42e152c5d53c53e154ee40b17cdd9e"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_listref_nth" ref="gafc42e152c5d53c53e154ee40b17cdd9e" args="(SEXP_t *list, uint32_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_listref_nth </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the n-th element of a list. </p>
<p>This function creates a soft reference to the element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the position of the element in the list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab2d9e9f446f780614d54d5774f3fd939"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_listref_rest" ref="gab2d9e9f446f780614d54d5774f3fd939" args="(SEXP_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_listref_rest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the rest of a list. </p>
<p>This function creates a soft reference to the list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga0ef7afdcedb92279a58ce9ee0f224a1d"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_free" ref="ga0ef7afdcedb92279a58ce9ee0f224a1d" args="(SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SEXP_number_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free the specified sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be freed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9b392924764145a02ff6c549dfd26d9c"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_get" ref="ga9b392924764145a02ff6c549dfd26d9c" args="(const SEXP_t *s_exp, void *dst, SEXP_numtype_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_number_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SEXP_numtype_t&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a value from a sexp object according to a specified type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>buffer for the value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the desired number type </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacb248b380bca2b88445c0e376a5b65c2"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getb" ref="gacb248b380bca2b88445c0e376a5b65c2" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SEXP_number_getb </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get boolean value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1d4b4c86fab5992aa439a47f8af92190"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getf" ref="ga1d4b4c86fab5992aa439a47f8af92190" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double SEXP_number_getf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get floating point value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga75c71219c39bfa492436f2534e915010"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_geti_32" ref="ga75c71219c39bfa492436f2534e915010" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t SEXP_number_geti_32 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafa22f9fac43ad37dfc09ca359a867a51"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_geti_64" ref="gafa22f9fac43ad37dfc09ca359a867a51" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t SEXP_number_geti_64 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3c00041f8c7e3a5dfb18bb3b30466e37"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getu_16" ref="ga3c00041f8c7e3a5dfb18bb3b30466e37" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t SEXP_number_getu_16 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unsigned integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacab074ed687b15a638609b14b3974ab0"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getu_32" ref="gacab074ed687b15a638609b14b3974ab0" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t SEXP_number_getu_32 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unsigned integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga18fd6599d74564c17376b80dff881ab0"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getu_64" ref="ga18fd6599d74564c17376b80dff881ab0" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t SEXP_number_getu_64 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unsigned integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad6cbd9f380d3fa8f93ea2a776809edf8"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_getu_8" ref="gad6cbd9f380d3fa8f93ea2a776809edf8" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t SEXP_number_getu_8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unsigned integer value from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab853e2b374cd9dca2476b74f848926cb"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_new" ref="gab853e2b374cd9dca2476b74f848926cb" args="(SEXP_numtype_t t, const void *n) __attribute__((nonnull(2)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_new </td>
          <td>(</td>
          <td class="paramtype">SEXP_numtype_t&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from a value and a number type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>the desired number type </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>pointer to the number value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga911846f8fc016a6a247d0f43c66a18b2"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newb" ref="ga911846f8fc016a6a247d0f43c66a18b2" args="(bool n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newb </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from a boolean value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the boolean value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga787652a3de427f96a8ca8fb8d52f4992"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newf" ref="ga787652a3de427f96a8ca8fb8d52f4992" args="(double n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newf </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an floating point value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the floating point value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae818ddbc1b844dee4886298487f45bac"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newi_16" ref="gae818ddbc1b844dee4886298487f45bac" args="(int16_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newi_16 </td>
          <td>(</td>
          <td class="paramtype">int16_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7b956257ee8aac24f5e66ca9cfeb4a4d"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newi_32" ref="ga7b956257ee8aac24f5e66ca9cfeb4a4d" args="(int32_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newi_32 </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae6ccac2220a69e61a393e9f7642410fa"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newi_64" ref="gae6ccac2220a69e61a393e9f7642410fa" args="(int64_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newi_64 </td>
          <td>(</td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa3a02f29f107527c774e6b06c16256a2"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newi_8" ref="gaa3a02f29f107527c774e6b06c16256a2" args="(int8_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newi_8 </td>
          <td>(</td>
          <td class="paramtype">int8_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2fbad0e20a340ee3b2b1d4ff780ac601"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newu_16" ref="ga2fbad0e20a340ee3b2b1d4ff780ac601" args="(uint16_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newu_16 </td>
          <td>(</td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an unsigned integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the unsigned integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf9353ab46d28eeb729bbc9ae434b4b0e"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newu_32" ref="gaf9353ab46d28eeb729bbc9ae434b4b0e" args="(uint32_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newu_32 </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an unsigned integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad34cabeaf9b278935bef6bc338ce9bea"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newu_64" ref="gad34cabeaf9b278935bef6bc338ce9bea" args="(uint64_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newu_64 </td>
          <td>(</td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an unsigned integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa29445f0462c0f279963638bb3d07b1b"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_newu_8" ref="gaa29445f0462c0f279963638bb3d07b1b" args="(uint8_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_number_newu_8 </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from an unsigned integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the unsigned integer value to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4e5c0f3e6a56eec10e7f1165939284c0"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_number_type" ref="ga4e5c0f3e6a56eec10e7f1165939284c0" args="(const SEXP_t *sexp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SEXP_numtype_t SEXP_number_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>sexp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number type of an object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sexp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6e604a242bf6246a03696a3d80f666ee"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_numberp" ref="ga6e604a242bf6246a03696a3d80f666ee" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SEXP_numberp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether the provided sexp object is a number. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object to be tested </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2cc6cb5fcad251b8c5e4eb2a604a2ae4"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_ref" ref="ga2cc6cb5fcad251b8c5e4eb2a604a2ae4" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_ref </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new reference to a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object of which to increment the reference count </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaeb1fb855d020bc8ee030795db519802d"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_softref" ref="gaeb1fb855d020bc8ee030795db519802d" args="(SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_softref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new soft reference to a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to which create the soft reference </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga59353fe1a436c8a3003ff93cfd28a747"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_strcmp" ref="ga59353fe1a436c8a3003ff93cfd28a747" args="(const SEXP_t *s_exp, const char *str) __attribute__((nonnull(2)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_strcmp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare a string in a sexp object with a C string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object to be compared </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the C string to be compared </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3e4383dcb6f96558b5643ad747d501b6"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_cmp" ref="ga3e4383dcb6f96558b5643ad747d501b6" args="(const SEXP_t *str_a, const SEXP_t *str_b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_string_cmp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>str_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>str_b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two sexp strings. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str_a</em>&nbsp;</td><td>the first string to compare </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str_b</em>&nbsp;</td><td>the second string to compare </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaba4e73db0910e4cdcd05f0954d7c94d8"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_cstr_r" ref="gaba4e73db0910e4cdcd05f0954d7c94d8" args="(const SEXP_t *s_exp, char *buf, size_t len) __attribute__((nonnull(2)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t SEXP_string_cstr_r </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a C string from a sexp object. </p>
<p>The name is stored in the provided buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer to store the name in </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length of the buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga421532c375fbb742923c452bc52c27fa"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_free" ref="ga421532c375fbb742923c452bc52c27fa" args="(SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SEXP_string_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free the specified sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be freed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga105b4f4551faf6114e53fa9701e966d5"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_length" ref="ga105b4f4551faf6114e53fa9701e966d5" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t SEXP_string_length </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the length of a string in a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the queried sexp object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8741d27eb1aa8cf2f052a2d892f08f1e"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_new" ref="ga8741d27eb1aa8cf2f052a2d892f08f1e" args="(const void *string, size_t strlen) __attribute__((nonnull(1)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_string_new </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>strlen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>the string to be stored </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>strlen</em>&nbsp;</td><td>the length of the string in bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafde2b9a3a03452d752835e050eea9349"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_newf" ref="gafde2b9a3a03452d752835e050eea9349" args="(const char *format,...) __attribute__((format(printf" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structSEXP.html">SEXP_t</a>* SEXP_string_newf </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sexp object from a format string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>the format of the new string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>arguments for the format </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad91eec2b56af04fa7352fbebe4bb6a68"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_nth" ref="gad91eec2b56af04fa7352fbebe4bb6a68" args="(const SEXP_t *s_exp, size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_string_nth </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the n-th byte of a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object holding the string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the index of the desired character </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac7ba7c8f270dd20fa3ef9eb36169cf73"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_string_subcstr" ref="gac7ba7c8f270dd20fa3ef9eb36169cf73" args="(const SEXP_t *s_exp, size_t beg, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* SEXP_string_subcstr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>beg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a C substring from a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_sexp</em>&nbsp;</td><td>the queried sexp object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>beg</em>&nbsp;</td><td>the position of the fisrt character of the substring </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length of the substring </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaff64360f9c06d07c15295a4631eede9f"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_stringp" ref="gaff64360f9c06d07c15295a4631eede9f" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SEXP_stringp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether the provided sexp object is a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object to be tested </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf2e92003af59b53145cfc23ea5e8cefa"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_strncmp" ref="gaf2e92003af59b53145cfc23ea5e8cefa" args="(const SEXP_t *s_exp, const char *str, size_t n) __attribute__((nonnull(2)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SEXP_strncmp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare a string in a sexp object with a C string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the sexp object to be compared </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the C string to be compared </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>compare at most n bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2ff190ded3d3563e9553734ab5fa0cd4"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_strtype" ref="ga2ff190ded3d3563e9553734ab5fa0cd4" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* SEXP_strtype </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a text description of the sexp object's type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be queried </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac20aeb60da4207f9fa0b6bf056864eec"></a><!-- doxytag: member="sexp&#45;manip.h::SEXP_typeof" ref="gac20aeb60da4207f9fa0b6bf056864eec" args="(const SEXP_t *s_exp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SEXP_type_t SEXP_typeof </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structSEXP.html">SEXP_t</a> *&nbsp;</td>
          <td class="paramname"> <em>s_exp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the type of a sexp object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s_exp</em>&nbsp;</td><td>the object to be queried </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 26 Feb 2010 for Open SCAP Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>