\hypertarget{group__SEXPMANIP}{ \section{S-\/expression manipulation.} \label{group__SEXPMANIP}\index{S-\/expression manipulation.@{S-\/expression manipulation.}} } S-\/expression manipulation functions. \subsection*{Files} \begin{DoxyCompactItemize} \item file \hyperlink{sexp-manip_8h}{sexp-\/manip.h} \end{DoxyCompactItemize} \subsection*{Defines} \begin{DoxyCompactItemize} \item \#define \hyperlink{group__SEXPMANIP_ga88cdd7705eac27040c29a4b174797158}{SEXP\_\-number\_\-newi}~SEXP\_\-number\_\-newi\_\-32 \begin{DoxyCompactList}\small\item\em Create a new sexp object from an integer. \item\end{DoxyCompactList}\item \#define \hyperlink{group__SEXPMANIP_ga6c9eaecc1f1f64f65f2eb82048ae424a}{SEXP\_\-number\_\-geti}~SEXP\_\-number\_\-geti\_\-32 \begin{DoxyCompactList}\small\item\em Get integer value from a sexp object. \item\end{DoxyCompactList}\item \#define \hyperlink{group__SEXPMANIP_ga0ed932bb9217034acb9850bef38111aa}{SEXP\_\-number\_\-newu}~SEXP\_\-number\_\-newu\_\-32 \begin{DoxyCompactList}\small\item\em Create a new sexp object from an unsigned integer. \item\end{DoxyCompactList}\item \#define \hyperlink{group__SEXPMANIP_ga2c94dfa1cb0df428abf39574500479e5}{SEXP\_\-number\_\-getu}~SEXP\_\-number\_\-getu\_\-32 \begin{DoxyCompactList}\small\item\em Get unsigned integer value from a sexp object. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_ga3e23f75287c37b21c78623795a80080a}{ \#define {\bfseries SEXP\_\-IT\_\-RECURSIVE}~0x01} \label{group__SEXPMANIP_ga3e23f75287c37b21c78623795a80080a} \item \hypertarget{group__SEXPMANIP_ga99f715ffacbb2b16ed09219850eea3c5}{ \#define {\bfseries SEXP\_\-IT\_\-HARDREF}~0x02} \label{group__SEXPMANIP_ga99f715ffacbb2b16ed09219850eea3c5} \item \hypertarget{group__SEXPMANIP_gac0946a08cc606c4d98cc52c24a103e6f}{ \#define {\bfseries SEXP\_\-free}(ptr)~\_\-\_\-SEXP\_\-free (ptr, \_\-\_\-FILE\_\-\_\-, \_\-\_\-LINE\_\-\_\-, \_\-\_\-PRETTY\_\-FUNCTION\_\-\_\-)} \label{group__SEXPMANIP_gac0946a08cc606c4d98cc52c24a103e6f} \item \hypertarget{group__SEXPMANIP_ga54fe65f5858aa4e2c50661268ecb1c6a}{ \#define {\bfseries SEXP\_\-vfree}(...)~\_\-\_\-SEXP\_\-vfree (\_\-\_\-FILE\_\-\_\-, \_\-\_\-LINE\_\-\_\-, \_\-\_\-PRETTY\_\-FUNCTION\_\-\_\-, \_\-\_\-VA\_\-ARGS\_\-\_\-)} \label{group__SEXPMANIP_ga54fe65f5858aa4e2c50661268ecb1c6a} \item \hypertarget{group__SEXPMANIP_gab48b0175fb18684a56fbde940c8ff16a}{ \#define {\bfseries SEXP\_\-VALIDATE}(s)~\_\-\_\-SEXP\_\-VALIDATE(s, \_\-\_\-FILE\_\-\_\-, \_\-\_\-LINE\_\-\_\-, \_\-\_\-PRETTY\_\-FUNCTION\_\-\_\-)} \label{group__SEXPMANIP_gab48b0175fb18684a56fbde940c8ff16a} \end{DoxyCompactItemize} \subsection*{Typedefs} \begin{DoxyCompactItemize} \item \hypertarget{group__SEXPMANIP_gaa76cf6e67da948af0ace29d83c4b2bf0}{ typedef struct \hyperlink{structSEXP__it}{SEXP\_\-it} {\bfseries SEXP\_\-it\_\-t}} \label{group__SEXPMANIP_gaa76cf6e67da948af0ace29d83c4b2bf0} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gab853e2b374cd9dca2476b74f848926cb}{SEXP\_\-number\_\-new} (SEXP\_\-numtype\_\-t t, const void $\ast$n) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(2))) \begin{DoxyCompactList}\small\item\em Create a new sexp object from a value and a number type. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga911846f8fc016a6a247d0f43c66a18b2}{SEXP\_\-number\_\-newb} (bool n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from a boolean value. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaa3a02f29f107527c774e6b06c16256a2}{SEXP\_\-number\_\-newi\_\-8} (int8\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an integer. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaa29445f0462c0f279963638bb3d07b1b}{SEXP\_\-number\_\-newu\_\-8} (uint8\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an unsigned integer. \item\end{DoxyCompactList}\item uint8\_\-t \hyperlink{group__SEXPMANIP_gad6cbd9f380d3fa8f93ea2a776809edf8}{SEXP\_\-number\_\-getu\_\-8} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get unsigned integer value from a sexp object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gae818ddbc1b844dee4886298487f45bac}{SEXP\_\-number\_\-newi\_\-16} (int16\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an integer. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga2fbad0e20a340ee3b2b1d4ff780ac601}{SEXP\_\-number\_\-newu\_\-16} (uint16\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an unsigned integer. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga7b956257ee8aac24f5e66ca9cfeb4a4d}{SEXP\_\-number\_\-newi\_\-32} (int32\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an integer. \item\end{DoxyCompactList}\item int32\_\-t \hyperlink{group__SEXPMANIP_ga75c71219c39bfa492436f2534e915010}{SEXP\_\-number\_\-geti\_\-32} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get integer value from a sexp object. \item\end{DoxyCompactList}\item bool \hyperlink{group__SEXPMANIP_gacb248b380bca2b88445c0e376a5b65c2}{SEXP\_\-number\_\-getb} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get boolean value from a sexp object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaf9353ab46d28eeb729bbc9ae434b4b0e}{SEXP\_\-number\_\-newu\_\-32} (uint32\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an unsigned integer. \item\end{DoxyCompactList}\item uint32\_\-t \hyperlink{group__SEXPMANIP_gacab074ed687b15a638609b14b3974ab0}{SEXP\_\-number\_\-getu\_\-32} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get unsigned integer value from a sexp object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gae6ccac2220a69e61a393e9f7642410fa}{SEXP\_\-number\_\-newi\_\-64} (int64\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an integer. \item\end{DoxyCompactList}\item int64\_\-t \hyperlink{group__SEXPMANIP_gafa22f9fac43ad37dfc09ca359a867a51}{SEXP\_\-number\_\-geti\_\-64} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get integer value from a sexp object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gad34cabeaf9b278935bef6bc338ce9bea}{SEXP\_\-number\_\-newu\_\-64} (uint64\_\-t n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an unsigned integer. \item\end{DoxyCompactList}\item uint64\_\-t \hyperlink{group__SEXPMANIP_ga18fd6599d74564c17376b80dff881ab0}{SEXP\_\-number\_\-getu\_\-64} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get unsigned integer value from a sexp object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga787652a3de427f96a8ca8fb8d52f4992}{SEXP\_\-number\_\-newf} (double n) \begin{DoxyCompactList}\small\item\em Create a new sexp object from an floating point value. \item\end{DoxyCompactList}\item double \hyperlink{group__SEXPMANIP_ga1d4b4c86fab5992aa439a47f8af92190}{SEXP\_\-number\_\-getf} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get floating point value from a sexp object. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_ga9b392924764145a02ff6c549dfd26d9c}{SEXP\_\-number\_\-get} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, void $\ast$dst, SEXP\_\-numtype\_\-t type) \begin{DoxyCompactList}\small\item\em Get a value from a sexp object according to a specified type. \item\end{DoxyCompactList}\item uint16\_\-t \hyperlink{group__SEXPMANIP_ga3c00041f8c7e3a5dfb18bb3b30466e37}{SEXP\_\-number\_\-getu\_\-16} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get unsigned integer value from a sexp object. \item\end{DoxyCompactList}\item void \hyperlink{group__SEXPMANIP_ga0ef7afdcedb92279a58ce9ee0f224a1d}{SEXP\_\-number\_\-free} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Free the specified sexp object. \item\end{DoxyCompactList}\item bool \hyperlink{group__SEXPMANIP_ga6e604a242bf6246a03696a3d80f666ee}{SEXP\_\-numberp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Check whether the provided sexp object is a number. \item\end{DoxyCompactList}\item SEXP\_\-numtype\_\-t \hyperlink{group__SEXPMANIP_ga4e5c0f3e6a56eec10e7f1165939284c0}{SEXP\_\-number\_\-type} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$sexp) \begin{DoxyCompactList}\small\item\em Get the number type of an object. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga8741d27eb1aa8cf2f052a2d892f08f1e}{SEXP\_\-string\_\-new} (const void $\ast$string, size\_\-t strlen) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(1))) \begin{DoxyCompactList}\small\item\em Create a new sexp object from a string. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gafde2b9a3a03452d752835e050eea9349}{SEXP\_\-string\_\-newf} (const char $\ast$format,...) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((format(printf \begin{DoxyCompactList}\small\item\em Create a new sexp object from a format string. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_gaff3e0830e5414d3b34d1b4ef3055f14e}{ \hyperlink{structSEXP}{SEXP\_\-t} {\bfseries nonnull} (1)))} \label{group__SEXPMANIP_gaff3e0830e5414d3b34d1b4ef3055f14e} \item void \hyperlink{group__SEXPMANIP_ga421532c375fbb742923c452bc52c27fa}{SEXP\_\-string\_\-free} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Free the specified sexp object. \item\end{DoxyCompactList}\item bool \hyperlink{group__SEXPMANIP_gaff64360f9c06d07c15295a4631eede9f}{SEXP\_\-stringp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Check whether the provided sexp object is a string. \item\end{DoxyCompactList}\item size\_\-t \hyperlink{group__SEXPMANIP_ga105b4f4551faf6114e53fa9701e966d5}{SEXP\_\-string\_\-length} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get the length of a string in a sexp object. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_ga59353fe1a436c8a3003ff93cfd28a747}{SEXP\_\-strcmp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, const char $\ast$str) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(2))) \begin{DoxyCompactList}\small\item\em Compare a string in a sexp object with a C string. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_gaf2e92003af59b53145cfc23ea5e8cefa}{SEXP\_\-strncmp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, const char $\ast$str, size\_\-t n) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(2))) \begin{DoxyCompactList}\small\item\em Compare a string in a sexp object with a C string. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_gad91eec2b56af04fa7352fbebe4bb6a68}{SEXP\_\-string\_\-nth} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, size\_\-t n) \begin{DoxyCompactList}\small\item\em Get the n-\/th byte of a string. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_gaa9f1a251871b6d7f08b3ebcd221f20de}{ char $\ast$ \hyperlink{group__SEXPMANIP_gaa9f1a251871b6d7f08b3ebcd221f20de}{SEXP\_\-string\_\-cstr} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp)} \label{group__SEXPMANIP_gaa9f1a251871b6d7f08b3ebcd221f20de} \begin{DoxyCompactList}\small\item\em Get a C string from a sexp object. \item\end{DoxyCompactList}\item size\_\-t \hyperlink{group__SEXPMANIP_gaba4e73db0910e4cdcd05f0954d7c94d8}{SEXP\_\-string\_\-cstr\_\-r} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, char $\ast$buf, size\_\-t len) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(2))) \begin{DoxyCompactList}\small\item\em Get a C string from a sexp object. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_gaa840bf69073129e9f408dcc6614333de}{ char $\ast$ \hyperlink{group__SEXPMANIP_gaa840bf69073129e9f408dcc6614333de}{SEXP\_\-string\_\-cstrp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp)} \label{group__SEXPMANIP_gaa840bf69073129e9f408dcc6614333de} \begin{DoxyCompactList}\small\item\em Obsolete function. \item\end{DoxyCompactList}\item char $\ast$ \hyperlink{group__SEXPMANIP_gac7ba7c8f270dd20fa3ef9eb36169cf73}{SEXP\_\-string\_\-subcstr} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, size\_\-t beg, size\_\-t len) \begin{DoxyCompactList}\small\item\em Get a C substring from a sexp object. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_ga3e4383dcb6f96558b5643ad747d501b6}{SEXP\_\-string\_\-cmp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$str\_\-a, const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$str\_\-b) \begin{DoxyCompactList}\small\item\em Compare two sexp strings. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga0bed70ee87aa8a1468da0766f30a2d49}{SEXP\_\-list\_\-new} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$memb,...) \begin{DoxyCompactList}\small\item\em Create a new sexp list, optionally initialized with the provided sexp arguments. \item\end{DoxyCompactList}\item void \hyperlink{group__SEXPMANIP_ga080ba170147ff68e7c2cbe524d7ef989}{SEXP\_\-list\_\-free} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Free the specified sexp object. \item\end{DoxyCompactList}\item bool \hyperlink{group__SEXPMANIP_ga07e8116610a355783f2c6368759b3227}{SEXP\_\-listp} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Check whether the provided sexp object is a list. \item\end{DoxyCompactList}\item size\_\-t \hyperlink{group__SEXPMANIP_ga068f5fbd0f5570d282bbdad6167682fc}{SEXP\_\-list\_\-length} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get the length of the sexp list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga3945a43f7c84b10ec2a2cd93235caf56}{SEXP\_\-list\_\-first} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the first element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga89f3f2ab5d95c13ca42483f0310c7207}{SEXP\_\-list\_\-rest} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the rest of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gabd24f147a04deec43b6c190bd84e3dc3}{SEXP\_\-list\_\-last} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the last element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaf9cfba9895908c4705a9cf9a1044ab0a}{SEXP\_\-list\_\-nth} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, uint32\_\-t n) \begin{DoxyCompactList}\small\item\em Get the n-\/th element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaca27766b23ee2eb0ccbe3eaf6a12585a}{SEXP\_\-list\_\-add} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Add an element to a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga57fc2142d95669252504f4c956a165c4}{SEXP\_\-list\_\-join} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list\_\-a, const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list\_\-b) \begin{DoxyCompactList}\small\item\em Create a new list containing the concatenated contents of two lists. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga1cfcddb82d44f56a4c86e4b9dc92b6da}{SEXP\_\-list\_\-push} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Push an element to the head of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga58373be5d72a973c4ee1623e3054ed79}{SEXP\_\-list\_\-pop} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Extract the first element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga44d6b420de441d2ec06889547806f78d}{SEXP\_\-list\_\-replace} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, uint32\_\-t n, const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Replace the n-\/th element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga6257b4e02c221bf7abee8b7f7f9543de}{SEXP\_\-listref\_\-first} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the first element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gab2d9e9f446f780614d54d5774f3fd939}{SEXP\_\-listref\_\-rest} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the rest of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga1c7e7156db1cdb031f70f69639a54391}{SEXP\_\-listref\_\-last} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list) \begin{DoxyCompactList}\small\item\em Get the last element of a list. \item\end{DoxyCompactList}\item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gafc42e152c5d53c53e154ee40b17cdd9e}{SEXP\_\-listref\_\-nth} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, uint32\_\-t n) \begin{DoxyCompactList}\small\item\em Get the n-\/th element of a list. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_ga77c391c86d393901234c58c878025140}{ \hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$ {\bfseries SEXP\_\-listit\_\-new} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, int flags)} \label{group__SEXPMANIP_ga77c391c86d393901234c58c878025140} \item \hypertarget{group__SEXPMANIP_ga987e5c716b5f87382a336cc7f09414bd}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-listit\_\-next} (\hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$it)} \label{group__SEXPMANIP_ga987e5c716b5f87382a336cc7f09414bd} \item \hypertarget{group__SEXPMANIP_ga990df0f1ebec926356c86c7dfef04b72}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-listit\_\-prev} (\hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$it)} \label{group__SEXPMANIP_ga990df0f1ebec926356c86c7dfef04b72} \item \hypertarget{group__SEXPMANIP_ga891a63272971ce1d1fc2650f9abb4d87}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-listit\_\-length} (\hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$it)} \label{group__SEXPMANIP_ga891a63272971ce1d1fc2650f9abb4d87} \item \hypertarget{group__SEXPMANIP_ga7f5931f70a38d9bd2e79e8c2b624b558}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-listit\_\-seek} (\hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$it, uint32\_\-t n)} \label{group__SEXPMANIP_ga7f5931f70a38d9bd2e79e8c2b624b558} \item \hypertarget{group__SEXPMANIP_ga69a9967a11ff4fd53f1f29772e59608d}{ void {\bfseries SEXP\_\-listit\_\-free} (\hyperlink{structSEXP__it}{SEXP\_\-it\_\-t} $\ast$it)} \label{group__SEXPMANIP_ga69a9967a11ff4fd53f1f29772e59608d} \item \hypertarget{group__SEXPMANIP_ga0d8b1f84f4b6baf8011e0179b00ac2e7}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-new} (void)} \label{group__SEXPMANIP_ga0d8b1f84f4b6baf8011e0179b00ac2e7} \item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_ga2cc6cb5fcad251b8c5e4eb2a604a2ae4}{SEXP\_\-ref} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Create a new reference to a sexp object. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_ga43e03b844ec73197bbd577112121f1a8}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-unref} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp\_\-o)} \label{group__SEXPMANIP_ga43e03b844ec73197bbd577112121f1a8} \item \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ \hyperlink{group__SEXPMANIP_gaeb1fb855d020bc8ee030795db519802d}{SEXP\_\-softref} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Create a new soft reference to a sexp object. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_ga1ecf913dff45626cd98d14aeef6a85b4}{ void {\bfseries \_\-\_\-SEXP\_\-free} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, const char $\ast$file, uint32\_\-t line, const char $\ast$func)} \label{group__SEXPMANIP_ga1ecf913dff45626cd98d14aeef6a85b4} \item \hypertarget{group__SEXPMANIP_gadd2bbdaa2617c56150b26592c343be96}{ void {\bfseries \_\-\_\-SEXP\_\-vfree} (const char $\ast$file, uint32\_\-t line, const char $\ast$func, \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp,...)} \label{group__SEXPMANIP_gadd2bbdaa2617c56150b26592c343be96} \item const char $\ast$ \hyperlink{group__SEXPMANIP_gadfa2e529c7e779f8ef1c21a84ae32a72}{SEXP\_\-datatype} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get the user data type of a sexp object. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_gaa4bde669d7e595ea9059b4b6387a15b2}{SEXP\_\-datatype\_\-set} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, const char $\ast$name) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(2))) \begin{DoxyCompactList}\small\item\em Set the user data type of a sexp object. \item\end{DoxyCompactList}\item int \hyperlink{group__SEXPMANIP_ga722eb1e7c93e22d2b2412983ccb88195}{SEXP\_\-datatype\_\-set\_\-nth} (\hyperlink{structSEXP}{SEXP\_\-t} $\ast$list, uint32\_\-t n, const char $\ast$name) \hyperlink{struct____attribute____}{\_\-\_\-attribute\_\-\_\-}((nonnull(3))) \begin{DoxyCompactList}\small\item\em Set the user data type of the nth sexp object in a list. \item\end{DoxyCompactList}\item SEXP\_\-type\_\-t \hyperlink{group__SEXPMANIP_gac20aeb60da4207f9fa0b6bf056864eec}{SEXP\_\-typeof} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get the type of a sexp object. \item\end{DoxyCompactList}\item const char $\ast$ \hyperlink{group__SEXPMANIP_ga2ff190ded3d3563e9553734ab5fa0cd4}{SEXP\_\-strtype} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp) \begin{DoxyCompactList}\small\item\em Get a text description of the sexp object's type. \item\end{DoxyCompactList}\item \hypertarget{group__SEXPMANIP_gadbea0abfbf5700546cdd929d4fe36c84}{ \hyperlink{structSEXP}{SEXP\_\-t} $\ast$ {\bfseries SEXP\_\-build} (const char $\ast$s\_\-str,...)} \label{group__SEXPMANIP_gadbea0abfbf5700546cdd929d4fe36c84} \item \hypertarget{group__SEXPMANIP_ga915466d91e2d1d1805951a2e6885bf45}{ size\_\-t {\bfseries SEXP\_\-sizeof} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp)} \label{group__SEXPMANIP_ga915466d91e2d1d1805951a2e6885bf45} \item \hypertarget{group__SEXPMANIP_gafceecfe00f4185bf3d4775d19d265b5b}{ void {\bfseries \_\-\_\-SEXP\_\-VALIDATE} (const \hyperlink{structSEXP}{SEXP\_\-t} $\ast$s\_\-exp, const char $\ast$file, uint32\_\-t line, const char $\ast$func)} \label{group__SEXPMANIP_gafceecfe00f4185bf3d4775d19d265b5b} \end{DoxyCompactItemize} \subsection{Detailed Description} S-\/expression manipulation functions. \subsection{Define Documentation} \hypertarget{group__SEXPMANIP_ga6c9eaecc1f1f64f65f2eb82048ae424a}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-geti@{SEXP\_\-number\_\-geti}} \index{SEXP\_\-number\_\-geti@{SEXP\_\-number\_\-geti}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-geti}]{\setlength{\rightskip}{0pt plus 5cm}\#define SEXP\_\-number\_\-geti~SEXP\_\-number\_\-geti\_\-32}} \label{group__SEXPMANIP_ga6c9eaecc1f1f64f65f2eb82048ae424a} Get integer value from a sexp object. The size of the integer may be architecture dependent. \hypertarget{group__SEXPMANIP_ga2c94dfa1cb0df428abf39574500479e5}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getu@{SEXP\_\-number\_\-getu}} \index{SEXP\_\-number\_\-getu@{SEXP\_\-number\_\-getu}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getu}]{\setlength{\rightskip}{0pt plus 5cm}\#define SEXP\_\-number\_\-getu~SEXP\_\-number\_\-getu\_\-32}} \label{group__SEXPMANIP_ga2c94dfa1cb0df428abf39574500479e5} Get unsigned integer value from a sexp object. The size of the integer may be architecture dependent. \hypertarget{group__SEXPMANIP_ga88cdd7705eac27040c29a4b174797158}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newi@{SEXP\_\-number\_\-newi}} \index{SEXP\_\-number\_\-newi@{SEXP\_\-number\_\-newi}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newi}]{\setlength{\rightskip}{0pt plus 5cm}\#define SEXP\_\-number\_\-newi~SEXP\_\-number\_\-newi\_\-32}} \label{group__SEXPMANIP_ga88cdd7705eac27040c29a4b174797158} Create a new sexp object from an integer. The size of the integer may be architecture dependent. \hypertarget{group__SEXPMANIP_ga0ed932bb9217034acb9850bef38111aa}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newu@{SEXP\_\-number\_\-newu}} \index{SEXP\_\-number\_\-newu@{SEXP\_\-number\_\-newu}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newu}]{\setlength{\rightskip}{0pt plus 5cm}\#define SEXP\_\-number\_\-newu~SEXP\_\-number\_\-newu\_\-32}} \label{group__SEXPMANIP_ga0ed932bb9217034acb9850bef38111aa} Create a new sexp object from an unsigned integer. The size of the integer may be architecture dependent. \subsection{Function Documentation} \hypertarget{group__SEXPMANIP_gadfa2e529c7e779f8ef1c21a84ae32a72}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-datatype@{SEXP\_\-datatype}} \index{SEXP\_\-datatype@{SEXP\_\-datatype}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-datatype}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf SEXP\_\-datatype} (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gadfa2e529c7e779f8ef1c21a84ae32a72} Get the user data type of a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be queried \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaa4bde669d7e595ea9059b4b6387a15b2}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-datatype\_\-set@{SEXP\_\-datatype\_\-set}} \index{SEXP\_\-datatype\_\-set@{SEXP\_\-datatype\_\-set}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-datatype\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-datatype\_\-set ({\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ const char $\ast$ {\em name})}} \label{group__SEXPMANIP_gaa4bde669d7e595ea9059b4b6387a15b2} Set the user data type of a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be modified \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga722eb1e7c93e22d2b2412983ccb88195}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-datatype\_\-set\_\-nth@{SEXP\_\-datatype\_\-set\_\-nth}} \index{SEXP\_\-datatype\_\-set\_\-nth@{SEXP\_\-datatype\_\-set\_\-nth}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-datatype\_\-set\_\-nth}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-datatype\_\-set\_\-nth ({\bf SEXP\_\-t} $\ast$ {\em list}, \/ uint32\_\-t {\em n}, \/ const char $\ast$ {\em name})}} \label{group__SEXPMANIP_ga722eb1e7c93e22d2b2412983ccb88195} Set the user data type of the nth sexp object in a list. \begin{DoxyParams}{Parameters} \item[{\em list}]list containing the object to be modified \item[{\em n}]the position of the object \item[{\em name}]name of the user data type \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaca27766b23ee2eb0ccbe3eaf6a12585a}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-add@{SEXP\_\-list\_\-add}} \index{SEXP\_\-list\_\-add@{SEXP\_\-list\_\-add}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-add ({\bf SEXP\_\-t} $\ast$ {\em list}, \/ const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gaca27766b23ee2eb0ccbe3eaf6a12585a} Add an element to a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the modified sexp object \item[{\em s\_\-exp}]the element to be added \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga3945a43f7c84b10ec2a2cd93235caf56}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-first@{SEXP\_\-list\_\-first}} \index{SEXP\_\-list\_\-first@{SEXP\_\-list\_\-first}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-first}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-first (const {\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_ga3945a43f7c84b10ec2a2cd93235caf56} Get the first element of a list. This function increments element's reference count \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga080ba170147ff68e7c2cbe524d7ef989}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-free@{SEXP\_\-list\_\-free}} \index{SEXP\_\-list\_\-free@{SEXP\_\-list\_\-free}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void SEXP\_\-list\_\-free ({\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga080ba170147ff68e7c2cbe524d7ef989} Free the specified sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be freed \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga57fc2142d95669252504f4c956a165c4}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-join@{SEXP\_\-list\_\-join}} \index{SEXP\_\-list\_\-join@{SEXP\_\-list\_\-join}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-join}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-join (const {\bf SEXP\_\-t} $\ast$ {\em list\_\-a}, \/ const {\bf SEXP\_\-t} $\ast$ {\em list\_\-b})}} \label{group__SEXPMANIP_ga57fc2142d95669252504f4c956a165c4} Create a new list containing the concatenated contents of two lists. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list\_\-a}]the first list to be contatenated \item[{\em list\_\-b}]the list to be attached to the first one \end{DoxyParams} \hypertarget{group__SEXPMANIP_gabd24f147a04deec43b6c190bd84e3dc3}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-last@{SEXP\_\-list\_\-last}} \index{SEXP\_\-list\_\-last@{SEXP\_\-list\_\-last}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-last}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-last (const {\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_gabd24f147a04deec43b6c190bd84e3dc3} Get the last element of a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga068f5fbd0f5570d282bbdad6167682fc}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-length@{SEXP\_\-list\_\-length}} \index{SEXP\_\-list\_\-length@{SEXP\_\-list\_\-length}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t SEXP\_\-list\_\-length (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga068f5fbd0f5570d282bbdad6167682fc} Get the length of the sexp list. \begin{DoxyParams}{Parameters} \item[{\em s\_\-sexp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga0bed70ee87aa8a1468da0766f30a2d49}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-new@{SEXP\_\-list\_\-new}} \index{SEXP\_\-list\_\-new@{SEXP\_\-list\_\-new}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-new ({\bf SEXP\_\-t} $\ast$ {\em memb}, \/ {\em ...})}} \label{group__SEXPMANIP_ga0bed70ee87aa8a1468da0766f30a2d49} Create a new sexp list, optionally initialized with the provided sexp arguments. The argument list needs to be terminated with NULL. \begin{DoxyParams}{Parameters} \item[{\em memb}]the first sexp object to be inserted into the new list. can be NULL. \item[{\em ...}]arbitrary number of elements to be inserted \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaf9cfba9895908c4705a9cf9a1044ab0a}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-nth@{SEXP\_\-list\_\-nth}} \index{SEXP\_\-list\_\-nth@{SEXP\_\-list\_\-nth}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-nth}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-nth (const {\bf SEXP\_\-t} $\ast$ {\em list}, \/ uint32\_\-t {\em n})}} \label{group__SEXPMANIP_gaf9cfba9895908c4705a9cf9a1044ab0a} Get the n-\/th element of a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \item[{\em n}]the position of the element in the list \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga58373be5d72a973c4ee1623e3054ed79}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-pop@{SEXP\_\-list\_\-pop}} \index{SEXP\_\-list\_\-pop@{SEXP\_\-list\_\-pop}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-pop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-pop ({\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_ga58373be5d72a973c4ee1623e3054ed79} Extract the first element of a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the modified sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga1cfcddb82d44f56a4c86e4b9dc92b6da}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-push@{SEXP\_\-list\_\-push}} \index{SEXP\_\-list\_\-push@{SEXP\_\-list\_\-push}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-push}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-push ({\bf SEXP\_\-t} $\ast$ {\em list}, \/ const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga1cfcddb82d44f56a4c86e4b9dc92b6da} Push an element to the head of a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the modified sexp object \item[{\em s\_\-exp}]the element to be added \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga44d6b420de441d2ec06889547806f78d}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-replace@{SEXP\_\-list\_\-replace}} \index{SEXP\_\-list\_\-replace@{SEXP\_\-list\_\-replace}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-replace}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-replace ({\bf SEXP\_\-t} $\ast$ {\em list}, \/ uint32\_\-t {\em n}, \/ const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga44d6b420de441d2ec06889547806f78d} Replace the n-\/th element of a list. This function increments element's reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the modified sexp object \item[{\em n}]the index of the element to be replaced \item[{\em s\_\-exp}]the element to be added \end{DoxyParams} \begin{DoxyReturn}{Returns} the replaced element \end{DoxyReturn} \hypertarget{group__SEXPMANIP_ga89f3f2ab5d95c13ca42483f0310c7207}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-list\_\-rest@{SEXP\_\-list\_\-rest}} \index{SEXP\_\-list\_\-rest@{SEXP\_\-list\_\-rest}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-list\_\-rest}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-list\_\-rest (const {\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_ga89f3f2ab5d95c13ca42483f0310c7207} Get the rest of a list. This function increments elements' reference count. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga07e8116610a355783f2c6368759b3227}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-listp@{SEXP\_\-listp}} \index{SEXP\_\-listp@{SEXP\_\-listp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-listp}]{\setlength{\rightskip}{0pt plus 5cm}bool SEXP\_\-listp (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga07e8116610a355783f2c6368759b3227} Check whether the provided sexp object is a list. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object to be tested \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga6257b4e02c221bf7abee8b7f7f9543de}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-listref\_\-first@{SEXP\_\-listref\_\-first}} \index{SEXP\_\-listref\_\-first@{SEXP\_\-listref\_\-first}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-listref\_\-first}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-listref\_\-first ({\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_ga6257b4e02c221bf7abee8b7f7f9543de} Get the first element of a list. This function creates a soft reference to the element. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga1c7e7156db1cdb031f70f69639a54391}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-listref\_\-last@{SEXP\_\-listref\_\-last}} \index{SEXP\_\-listref\_\-last@{SEXP\_\-listref\_\-last}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-listref\_\-last}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-listref\_\-last ({\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_ga1c7e7156db1cdb031f70f69639a54391} Get the last element of a list. This function creates a soft reference to the element. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_gafc42e152c5d53c53e154ee40b17cdd9e}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-listref\_\-nth@{SEXP\_\-listref\_\-nth}} \index{SEXP\_\-listref\_\-nth@{SEXP\_\-listref\_\-nth}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-listref\_\-nth}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-listref\_\-nth ({\bf SEXP\_\-t} $\ast$ {\em list}, \/ uint32\_\-t {\em n})}} \label{group__SEXPMANIP_gafc42e152c5d53c53e154ee40b17cdd9e} Get the n-\/th element of a list. This function creates a soft reference to the element. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \item[{\em n}]the position of the element in the list \end{DoxyParams} \hypertarget{group__SEXPMANIP_gab2d9e9f446f780614d54d5774f3fd939}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-listref\_\-rest@{SEXP\_\-listref\_\-rest}} \index{SEXP\_\-listref\_\-rest@{SEXP\_\-listref\_\-rest}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-listref\_\-rest}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-listref\_\-rest ({\bf SEXP\_\-t} $\ast$ {\em list})}} \label{group__SEXPMANIP_gab2d9e9f446f780614d54d5774f3fd939} Get the rest of a list. This function creates a soft reference to the list. \begin{DoxyParams}{Parameters} \item[{\em list}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga0ef7afdcedb92279a58ce9ee0f224a1d}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-free@{SEXP\_\-number\_\-free}} \index{SEXP\_\-number\_\-free@{SEXP\_\-number\_\-free}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void SEXP\_\-number\_\-free ({\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga0ef7afdcedb92279a58ce9ee0f224a1d} Free the specified sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be freed \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga9b392924764145a02ff6c549dfd26d9c}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-get@{SEXP\_\-number\_\-get}} \index{SEXP\_\-number\_\-get@{SEXP\_\-number\_\-get}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-number\_\-get (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ void $\ast$ {\em dst}, \/ SEXP\_\-numtype\_\-t {\em type})}} \label{group__SEXPMANIP_ga9b392924764145a02ff6c549dfd26d9c} Get a value from a sexp object according to a specified type. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \item[{\em dst}]buffer for the value \item[{\em type}]the desired number type \end{DoxyParams} \hypertarget{group__SEXPMANIP_gacb248b380bca2b88445c0e376a5b65c2}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getb@{SEXP\_\-number\_\-getb}} \index{SEXP\_\-number\_\-getb@{SEXP\_\-number\_\-getb}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getb}]{\setlength{\rightskip}{0pt plus 5cm}bool SEXP\_\-number\_\-getb (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gacb248b380bca2b88445c0e376a5b65c2} Get boolean value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga1d4b4c86fab5992aa439a47f8af92190}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getf@{SEXP\_\-number\_\-getf}} \index{SEXP\_\-number\_\-getf@{SEXP\_\-number\_\-getf}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getf}]{\setlength{\rightskip}{0pt plus 5cm}double SEXP\_\-number\_\-getf (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga1d4b4c86fab5992aa439a47f8af92190} Get floating point value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga75c71219c39bfa492436f2534e915010}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-geti\_\-32@{SEXP\_\-number\_\-geti\_\-32}} \index{SEXP\_\-number\_\-geti\_\-32@{SEXP\_\-number\_\-geti\_\-32}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-geti\_\-32}]{\setlength{\rightskip}{0pt plus 5cm}int32\_\-t SEXP\_\-number\_\-geti\_\-32 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga75c71219c39bfa492436f2534e915010} Get integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_gafa22f9fac43ad37dfc09ca359a867a51}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-geti\_\-64@{SEXP\_\-number\_\-geti\_\-64}} \index{SEXP\_\-number\_\-geti\_\-64@{SEXP\_\-number\_\-geti\_\-64}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-geti\_\-64}]{\setlength{\rightskip}{0pt plus 5cm}int64\_\-t SEXP\_\-number\_\-geti\_\-64 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gafa22f9fac43ad37dfc09ca359a867a51} Get integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga3c00041f8c7e3a5dfb18bb3b30466e37}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getu\_\-16@{SEXP\_\-number\_\-getu\_\-16}} \index{SEXP\_\-number\_\-getu\_\-16@{SEXP\_\-number\_\-getu\_\-16}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getu\_\-16}]{\setlength{\rightskip}{0pt plus 5cm}uint16\_\-t SEXP\_\-number\_\-getu\_\-16 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga3c00041f8c7e3a5dfb18bb3b30466e37} Get unsigned integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_gacab074ed687b15a638609b14b3974ab0}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getu\_\-32@{SEXP\_\-number\_\-getu\_\-32}} \index{SEXP\_\-number\_\-getu\_\-32@{SEXP\_\-number\_\-getu\_\-32}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getu\_\-32}]{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t SEXP\_\-number\_\-getu\_\-32 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gacab074ed687b15a638609b14b3974ab0} Get unsigned integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga18fd6599d74564c17376b80dff881ab0}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getu\_\-64@{SEXP\_\-number\_\-getu\_\-64}} \index{SEXP\_\-number\_\-getu\_\-64@{SEXP\_\-number\_\-getu\_\-64}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getu\_\-64}]{\setlength{\rightskip}{0pt plus 5cm}uint64\_\-t SEXP\_\-number\_\-getu\_\-64 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga18fd6599d74564c17376b80dff881ab0} Get unsigned integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_gad6cbd9f380d3fa8f93ea2a776809edf8}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-getu\_\-8@{SEXP\_\-number\_\-getu\_\-8}} \index{SEXP\_\-number\_\-getu\_\-8@{SEXP\_\-number\_\-getu\_\-8}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-getu\_\-8}]{\setlength{\rightskip}{0pt plus 5cm}uint8\_\-t SEXP\_\-number\_\-getu\_\-8 (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gad6cbd9f380d3fa8f93ea2a776809edf8} Get unsigned integer value from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_gab853e2b374cd9dca2476b74f848926cb}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-new@{SEXP\_\-number\_\-new}} \index{SEXP\_\-number\_\-new@{SEXP\_\-number\_\-new}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-new (SEXP\_\-numtype\_\-t {\em t}, \/ const void $\ast$ {\em n})}} \label{group__SEXPMANIP_gab853e2b374cd9dca2476b74f848926cb} Create a new sexp object from a value and a number type. \begin{DoxyParams}{Parameters} \item[{\em t}]the desired number type \item[{\em n}]pointer to the number value \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga911846f8fc016a6a247d0f43c66a18b2}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newb@{SEXP\_\-number\_\-newb}} \index{SEXP\_\-number\_\-newb@{SEXP\_\-number\_\-newb}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newb (bool {\em n})}} \label{group__SEXPMANIP_ga911846f8fc016a6a247d0f43c66a18b2} Create a new sexp object from a boolean value. \begin{DoxyParams}{Parameters} \item[{\em n}]the boolean value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga787652a3de427f96a8ca8fb8d52f4992}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newf@{SEXP\_\-number\_\-newf}} \index{SEXP\_\-number\_\-newf@{SEXP\_\-number\_\-newf}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newf (double {\em n})}} \label{group__SEXPMANIP_ga787652a3de427f96a8ca8fb8d52f4992} Create a new sexp object from an floating point value. \begin{DoxyParams}{Parameters} \item[{\em n}]the floating point value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gae818ddbc1b844dee4886298487f45bac}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newi\_\-16@{SEXP\_\-number\_\-newi\_\-16}} \index{SEXP\_\-number\_\-newi\_\-16@{SEXP\_\-number\_\-newi\_\-16}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newi\_\-16}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newi\_\-16 (int16\_\-t {\em n})}} \label{group__SEXPMANIP_gae818ddbc1b844dee4886298487f45bac} Create a new sexp object from an integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga7b956257ee8aac24f5e66ca9cfeb4a4d}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newi\_\-32@{SEXP\_\-number\_\-newi\_\-32}} \index{SEXP\_\-number\_\-newi\_\-32@{SEXP\_\-number\_\-newi\_\-32}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newi\_\-32}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newi\_\-32 (int32\_\-t {\em n})}} \label{group__SEXPMANIP_ga7b956257ee8aac24f5e66ca9cfeb4a4d} Create a new sexp object from an integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gae6ccac2220a69e61a393e9f7642410fa}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newi\_\-64@{SEXP\_\-number\_\-newi\_\-64}} \index{SEXP\_\-number\_\-newi\_\-64@{SEXP\_\-number\_\-newi\_\-64}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newi\_\-64}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newi\_\-64 (int64\_\-t {\em n})}} \label{group__SEXPMANIP_gae6ccac2220a69e61a393e9f7642410fa} Create a new sexp object from an integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaa3a02f29f107527c774e6b06c16256a2}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newi\_\-8@{SEXP\_\-number\_\-newi\_\-8}} \index{SEXP\_\-number\_\-newi\_\-8@{SEXP\_\-number\_\-newi\_\-8}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newi\_\-8}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newi\_\-8 (int8\_\-t {\em n})}} \label{group__SEXPMANIP_gaa3a02f29f107527c774e6b06c16256a2} Create a new sexp object from an integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga2fbad0e20a340ee3b2b1d4ff780ac601}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newu\_\-16@{SEXP\_\-number\_\-newu\_\-16}} \index{SEXP\_\-number\_\-newu\_\-16@{SEXP\_\-number\_\-newu\_\-16}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newu\_\-16}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newu\_\-16 (uint16\_\-t {\em n})}} \label{group__SEXPMANIP_ga2fbad0e20a340ee3b2b1d4ff780ac601} Create a new sexp object from an unsigned integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the unsigned integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaf9353ab46d28eeb729bbc9ae434b4b0e}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newu\_\-32@{SEXP\_\-number\_\-newu\_\-32}} \index{SEXP\_\-number\_\-newu\_\-32@{SEXP\_\-number\_\-newu\_\-32}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newu\_\-32}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newu\_\-32 (uint32\_\-t {\em n})}} \label{group__SEXPMANIP_gaf9353ab46d28eeb729bbc9ae434b4b0e} Create a new sexp object from an unsigned integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gad34cabeaf9b278935bef6bc338ce9bea}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newu\_\-64@{SEXP\_\-number\_\-newu\_\-64}} \index{SEXP\_\-number\_\-newu\_\-64@{SEXP\_\-number\_\-newu\_\-64}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newu\_\-64}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newu\_\-64 (uint64\_\-t {\em n})}} \label{group__SEXPMANIP_gad34cabeaf9b278935bef6bc338ce9bea} Create a new sexp object from an unsigned integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaa29445f0462c0f279963638bb3d07b1b}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-newu\_\-8@{SEXP\_\-number\_\-newu\_\-8}} \index{SEXP\_\-number\_\-newu\_\-8@{SEXP\_\-number\_\-newu\_\-8}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-newu\_\-8}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-number\_\-newu\_\-8 (uint8\_\-t {\em n})}} \label{group__SEXPMANIP_gaa29445f0462c0f279963638bb3d07b1b} Create a new sexp object from an unsigned integer. \begin{DoxyParams}{Parameters} \item[{\em n}]the unsigned integer value to store \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga4e5c0f3e6a56eec10e7f1165939284c0}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-number\_\-type@{SEXP\_\-number\_\-type}} \index{SEXP\_\-number\_\-type@{SEXP\_\-number\_\-type}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-number\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}SEXP\_\-numtype\_\-t SEXP\_\-number\_\-type (const {\bf SEXP\_\-t} $\ast$ {\em sexp})}} \label{group__SEXPMANIP_ga4e5c0f3e6a56eec10e7f1165939284c0} Get the number type of an object. \begin{DoxyParams}{Parameters} \item[{\em sexp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga6e604a242bf6246a03696a3d80f666ee}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-numberp@{SEXP\_\-numberp}} \index{SEXP\_\-numberp@{SEXP\_\-numberp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-numberp}]{\setlength{\rightskip}{0pt plus 5cm}bool SEXP\_\-numberp (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga6e604a242bf6246a03696a3d80f666ee} Check whether the provided sexp object is a number. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object to be tested \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga2cc6cb5fcad251b8c5e4eb2a604a2ae4}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-ref@{SEXP\_\-ref}} \index{SEXP\_\-ref@{SEXP\_\-ref}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-ref}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-ref (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga2cc6cb5fcad251b8c5e4eb2a604a2ae4} Create a new reference to a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object of which to increment the reference count \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaeb1fb855d020bc8ee030795db519802d}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-softref@{SEXP\_\-softref}} \index{SEXP\_\-softref@{SEXP\_\-softref}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-softref}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-softref ({\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gaeb1fb855d020bc8ee030795db519802d} Create a new soft reference to a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to which create the soft reference \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga59353fe1a436c8a3003ff93cfd28a747}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-strcmp@{SEXP\_\-strcmp}} \index{SEXP\_\-strcmp@{SEXP\_\-strcmp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-strcmp}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-strcmp (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ const char $\ast$ {\em str})}} \label{group__SEXPMANIP_ga59353fe1a436c8a3003ff93cfd28a747} Compare a string in a sexp object with a C string. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object to be compared \item[{\em str}]the C string to be compared \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga3e4383dcb6f96558b5643ad747d501b6}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-cmp@{SEXP\_\-string\_\-cmp}} \index{SEXP\_\-string\_\-cmp@{SEXP\_\-string\_\-cmp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-cmp}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-string\_\-cmp (const {\bf SEXP\_\-t} $\ast$ {\em str\_\-a}, \/ const {\bf SEXP\_\-t} $\ast$ {\em str\_\-b})}} \label{group__SEXPMANIP_ga3e4383dcb6f96558b5643ad747d501b6} Compare two sexp strings. \begin{DoxyParams}{Parameters} \item[{\em str\_\-a}]the first string to compare \item[{\em str\_\-b}]the second string to compare \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaba4e73db0910e4cdcd05f0954d7c94d8}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-cstr\_\-r@{SEXP\_\-string\_\-cstr\_\-r}} \index{SEXP\_\-string\_\-cstr\_\-r@{SEXP\_\-string\_\-cstr\_\-r}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-cstr\_\-r}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t SEXP\_\-string\_\-cstr\_\-r (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ char $\ast$ {\em buf}, \/ size\_\-t {\em len})}} \label{group__SEXPMANIP_gaba4e73db0910e4cdcd05f0954d7c94d8} Get a C string from a sexp object. The name is stored in the provided buffer. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried object \item[{\em buf}]the buffer to store the name in \item[{\em len}]the length of the buffer \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga421532c375fbb742923c452bc52c27fa}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-free@{SEXP\_\-string\_\-free}} \index{SEXP\_\-string\_\-free@{SEXP\_\-string\_\-free}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void SEXP\_\-string\_\-free ({\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga421532c375fbb742923c452bc52c27fa} Free the specified sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be freed \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga105b4f4551faf6114e53fa9701e966d5}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-length@{SEXP\_\-string\_\-length}} \index{SEXP\_\-string\_\-length@{SEXP\_\-string\_\-length}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t SEXP\_\-string\_\-length (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga105b4f4551faf6114e53fa9701e966d5} Get the length of a string in a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the queried sexp object \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga8741d27eb1aa8cf2f052a2d892f08f1e}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-new@{SEXP\_\-string\_\-new}} \index{SEXP\_\-string\_\-new@{SEXP\_\-string\_\-new}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-string\_\-new (const void $\ast$ {\em string}, \/ size\_\-t {\em strlen})}} \label{group__SEXPMANIP_ga8741d27eb1aa8cf2f052a2d892f08f1e} Create a new sexp object from a string. \begin{DoxyParams}{Parameters} \item[{\em string}]the string to be stored \item[{\em strlen}]the length of the string in bytes \end{DoxyParams} \hypertarget{group__SEXPMANIP_gafde2b9a3a03452d752835e050eea9349}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-newf@{SEXP\_\-string\_\-newf}} \index{SEXP\_\-string\_\-newf@{SEXP\_\-string\_\-newf}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-newf}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SEXP\_\-t}$\ast$ SEXP\_\-string\_\-newf (const char $\ast$ {\em format}, \/ {\em ...})}} \label{group__SEXPMANIP_gafde2b9a3a03452d752835e050eea9349} Create a new sexp object from a format string. \begin{DoxyParams}{Parameters} \item[{\em format}]the format of the new string \item[{\em ...}]arguments for the format \end{DoxyParams} \hypertarget{group__SEXPMANIP_gad91eec2b56af04fa7352fbebe4bb6a68}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-nth@{SEXP\_\-string\_\-nth}} \index{SEXP\_\-string\_\-nth@{SEXP\_\-string\_\-nth}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-nth}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-string\_\-nth (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ size\_\-t {\em n})}} \label{group__SEXPMANIP_gad91eec2b56af04fa7352fbebe4bb6a68} Get the n-\/th byte of a string. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object holding the string \item[{\em n}]the index of the desired character \end{DoxyParams} \hypertarget{group__SEXPMANIP_gac7ba7c8f270dd20fa3ef9eb36169cf73}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-string\_\-subcstr@{SEXP\_\-string\_\-subcstr}} \index{SEXP\_\-string\_\-subcstr@{SEXP\_\-string\_\-subcstr}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-string\_\-subcstr}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ SEXP\_\-string\_\-subcstr (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ size\_\-t {\em beg}, \/ size\_\-t {\em len})}} \label{group__SEXPMANIP_gac7ba7c8f270dd20fa3ef9eb36169cf73} Get a C substring from a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-sexp}]the queried sexp object \item[{\em beg}]the position of the fisrt character of the substring \item[{\em len}]the length of the substring \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaff64360f9c06d07c15295a4631eede9f}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-stringp@{SEXP\_\-stringp}} \index{SEXP\_\-stringp@{SEXP\_\-stringp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-stringp}]{\setlength{\rightskip}{0pt plus 5cm}bool SEXP\_\-stringp (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gaff64360f9c06d07c15295a4631eede9f} Check whether the provided sexp object is a string. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object to be tested \end{DoxyParams} \hypertarget{group__SEXPMANIP_gaf2e92003af59b53145cfc23ea5e8cefa}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-strncmp@{SEXP\_\-strncmp}} \index{SEXP\_\-strncmp@{SEXP\_\-strncmp}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-strncmp}]{\setlength{\rightskip}{0pt plus 5cm}int SEXP\_\-strncmp (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp}, \/ const char $\ast$ {\em str}, \/ size\_\-t {\em n})}} \label{group__SEXPMANIP_gaf2e92003af59b53145cfc23ea5e8cefa} Compare a string in a sexp object with a C string. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the sexp object to be compared \item[{\em str}]the C string to be compared \item[{\em n}]compare at most n bytes \end{DoxyParams} \hypertarget{group__SEXPMANIP_ga2ff190ded3d3563e9553734ab5fa0cd4}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-strtype@{SEXP\_\-strtype}} \index{SEXP\_\-strtype@{SEXP\_\-strtype}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-strtype}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ SEXP\_\-strtype (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_ga2ff190ded3d3563e9553734ab5fa0cd4} Get a text description of the sexp object's type. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be queried \end{DoxyParams} \hypertarget{group__SEXPMANIP_gac20aeb60da4207f9fa0b6bf056864eec}{ \index{SEXPMANIP@{SEXPMANIP}!SEXP\_\-typeof@{SEXP\_\-typeof}} \index{SEXP\_\-typeof@{SEXP\_\-typeof}!SEXPMANIP@{SEXPMANIP}} \subsubsection[{SEXP\_\-typeof}]{\setlength{\rightskip}{0pt plus 5cm}SEXP\_\-type\_\-t SEXP\_\-typeof (const {\bf SEXP\_\-t} $\ast$ {\em s\_\-exp})}} \label{group__SEXPMANIP_gac20aeb60da4207f9fa0b6bf056864eec} Get the type of a sexp object. \begin{DoxyParams}{Parameters} \item[{\em s\_\-exp}]the object to be queried \end{DoxyParams}