\doxysubsubsection{Unicode String Buffer}
\hypertarget{group__Eina__Unicode__String__Buffer__Group}{}\label{group__Eina__Unicode__String__Buffer__Group}\index{Unicode String Buffer@{Unicode String Buffer}}


These functions provide unicode string buffer management.  


\doxysubsubsubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga2df89d90d995cdcd94006fb0d9015b2e}{eina\+\_\+ustrbuf\+\_\+prepend}}(buf,  str)~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert}}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepends a string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga74f79468f265edb54c88737c5ce34d89}{eina\+\_\+ustrbuf\+\_\+prepend\+\_\+escaped}}(buf,  str)~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+escaped}}(buf, str, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gac9c2670138e359fb589070a3022c029b}{eina\+\_\+ustrbuf\+\_\+prepend\+\_\+n}}(buf,  str,  maxlen)~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+n}}(buf, str, maxlen, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga506aeb220292c78e6e5c0fc3c77241cd}{eina\+\_\+ustrbuf\+\_\+prepend\+\_\+length}}(buf,  str,  length)~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length}}(buf, str, length, 0)
\begin{DoxyCompactList}\small\item\em Prepends an escaped string to the given buffer. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga948150887ad0c0d563c8272951be909d}{eina\+\_\+ustrbuf\+\_\+prepend\+\_\+char}}(buf,  c)~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga45dc59267b6891b6e3a7649cf72dfb39}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+char}}(buf, c, 0)
\begin{DoxyCompactList}\small\item\em Prepends a unicode character to the given buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}\label{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b} 
typedef struct \mbox{\hyperlink{struct__Eina__Strbuf}{\+\_\+\+Eina\+\_\+\+Strbuf}} {\bfseries Eina\+\_\+\+UStrbuf}
\begin{DoxyCompactList}\small\item\em Type for a unicode string buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga77af8bc1c0e17b67f86cf417b518227f}{eina\+\_\+ustrbuf\+\_\+new}} (void)
\begin{DoxyCompactList}\small\item\em Creates a new unicode string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga06bd6ad213b0eb08926b15bb92a611fc}{eina\+\_\+ustrbuf\+\_\+manage\+\_\+new}} (\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer using the passed string. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga8688b0452b30c7e5787c46b6a99bfaa0}{eina\+\_\+ustrbuf\+\_\+manage\+\_\+new\+\_\+length}} (\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Creates a new string buffer using the passed string. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Frees a string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga0de303b63f547515d611c060d3caefb3}{eina\+\_\+ustrbuf\+\_\+reset}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Resets a string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str)
\begin{DoxyCompactList}\small\item\em Appends a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga130507a97d1a07c3811ccab1ccca1a34}{eina\+\_\+ustrbuf\+\_\+append\+\_\+escaped}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str)
\begin{DoxyCompactList}\small\item\em Appends an escaped string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1b62f3a6971c21a83104d410ae6d4ade}{eina\+\_\+ustrbuf\+\_\+append\+\_\+n}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t maxlen)
\begin{DoxyCompactList}\small\item\em Appends a string to a buffer, reallocating as necessary, limited by the given length. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}{eina\+\_\+ustrbuf\+\_\+append\+\_\+length}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Appends a string of exact length to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga16a88f2aa92e1aae413980320ffd1773}{eina\+\_\+ustrbuf\+\_\+append\+\_\+slice}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} slice)
\begin{DoxyCompactList}\small\item\em Appends a slice to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga8dadb74e7d1664d4656b64c1bcdbd872}{eina\+\_\+ustrbuf\+\_\+append\+\_\+char}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} c)
\begin{DoxyCompactList}\small\item\em Appends a character to a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+escaped}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts an escaped string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+n}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t maxlen, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}str, size\+\_\+t length, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a string of exact length to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga8728a6560555d70938feb15ff5dc2ba1}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+slice}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} slice, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a slice to a buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga45dc59267b6891b6e3a7649cf72dfb39}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+char}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} c, size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Inserts a character to a string buffer, reallocating as necessary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gad3556fee9cef5b232f40e8c3c0a4bddd}{eina\+\_\+ustrbuf\+\_\+remove}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf, size\+\_\+t start, size\+\_\+t end)
\begin{DoxyCompactList}\small\item\em Removes a section of the given string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c}{eina\+\_\+ustrbuf\+\_\+string\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to the contents of a string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8}{eina\+\_\+ustrbuf\+\_\+string\+\_\+steal}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Steals the contents of a string buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga740d295acffa841237fa45f99be5068c}{eina\+\_\+ustrbuf\+\_\+string\+\_\+free}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Frees the contents of a string buffer but not the buffer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} size\+\_\+t \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gaccb1e3edec09442755a43458333e0238}{eina\+\_\+ustrbuf\+\_\+length\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Retrieves the length of the string buffer\textquotesingle{}s content. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gaea0ac011bd416bb3aeb227c3cb497a5a}{eina\+\_\+ustrbuf\+\_\+slice\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Gets a read-\/only slice of the buffer contents. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga00c874e76cfedbb178d9f3dd58ff3a3f}{eina\+\_\+ustrbuf\+\_\+rw\+\_\+slice\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Gets a read-\/write slice of the buffer contents. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga26f2b3922fd6cf4ffbc174d70d347d3b}{eina\+\_\+ustrbuf\+\_\+release}} (\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}buf)
\begin{DoxyCompactList}\small\item\em Frees the buffer, returning its old contents. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsection{Detailed Description}
These functions provide unicode string buffer management. 

The Unicode String Buffer data type is designed to be a mutable string, allowing the appending, prepending or insertion of a string to a buffer. 

\doxysubsubsubsection{Macro Definition Documentation}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga2df89d90d995cdcd94006fb0d9015b2e}\label{group__Eina__Unicode__String__Buffer__Group_ga2df89d90d995cdcd94006fb0d9015b2e} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_prepend@{eina\_ustrbuf\_prepend}}
\index{eina\_ustrbuf\_prepend@{eina\_ustrbuf\_prepend}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_prepend}{eina\_ustrbuf\_prepend}}
{\footnotesize\ttfamily \#define eina\+\_\+ustrbuf\+\_\+prepend(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert}}(buf, str, 0)}



Prepends a string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \doxylink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert()} with position 0. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga74f79468f265edb54c88737c5ce34d89}\label{group__Eina__Unicode__String__Buffer__Group_ga74f79468f265edb54c88737c5ce34d89} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_prepend\_escaped@{eina\_ustrbuf\_prepend\_escaped}}
\index{eina\_ustrbuf\_prepend\_escaped@{eina\_ustrbuf\_prepend\_escaped}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_prepend\_escaped}{eina\_ustrbuf\_prepend\_escaped}}
{\footnotesize\ttfamily \#define eina\+\_\+ustrbuf\+\_\+prepend\+\_\+escaped(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+escaped}}(buf, str, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \doxylink{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+escaped()} with position 0. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_gac9c2670138e359fb589070a3022c029b}\label{group__Eina__Unicode__String__Buffer__Group_gac9c2670138e359fb589070a3022c029b} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_prepend\_n@{eina\_ustrbuf\_prepend\_n}}
\index{eina\_ustrbuf\_prepend\_n@{eina\_ustrbuf\_prepend\_n}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_prepend\_n}{eina\_ustrbuf\_prepend\_n}}
{\footnotesize\ttfamily \#define eina\+\_\+ustrbuf\+\_\+prepend\+\_\+n(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str,  }\item[{}]{maxlen }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+n}}(buf, str, maxlen, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of Eina\+\_\+\+Unicode \texorpdfstring{$\ast$}{*}s to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \doxylink{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+n()} with position 0. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga506aeb220292c78e6e5c0fc3c77241cd}\label{group__Eina__Unicode__String__Buffer__Group_ga506aeb220292c78e6e5c0fc3c77241cd} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_prepend\_length@{eina\_ustrbuf\_prepend\_length}}
\index{eina\_ustrbuf\_prepend\_length@{eina\_ustrbuf\_prepend\_length}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_prepend\_length}{eina\_ustrbuf\_prepend\_length}}
{\footnotesize\ttfamily \#define eina\+\_\+ustrbuf\+\_\+prepend\+\_\+length(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{str,  }\item[{}]{length }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length}}(buf, str, length, 0)}



Prepends an escaped string to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to prepend. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be prepended.
\end{DoxyReturn}
This macro simply calls \doxylink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length()} with position 0. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga948150887ad0c0d563c8272951be909d}\label{group__Eina__Unicode__String__Buffer__Group_ga948150887ad0c0d563c8272951be909d} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_prepend\_char@{eina\_ustrbuf\_prepend\_char}}
\index{eina\_ustrbuf\_prepend\_char@{eina\_ustrbuf\_prepend\_char}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_prepend\_char}{eina\_ustrbuf\_prepend\_char}}
{\footnotesize\ttfamily \#define eina\+\_\+ustrbuf\+\_\+prepend\+\_\+char(\begin{DoxyParamCaption}\item[{}]{buf,  }\item[{}]{c }\end{DoxyParamCaption})~\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga45dc59267b6891b6e3a7649cf72dfb39}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+char}}(buf, c, 0)}



Prepends a unicode character to the given buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The Eina\+\_\+\+Unicode character to prepend. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily c} could not be prepended.
\end{DoxyReturn}
This macro is calling eina\+\_\+ustrbuf\+\_\+insert\+\_\+\+Eina\+\_\+\+Unicode() at position 0. 

\doxysubsubsubsection{Function Documentation}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga77af8bc1c0e17b67f86cf417b518227f}\label{group__Eina__Unicode__String__Buffer__Group_ga77af8bc1c0e17b67f86cf417b518227f} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_new@{eina\_ustrbuf\_new}}
\index{eina\_ustrbuf\_new@{eina\_ustrbuf\_new}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_new()}{eina\_ustrbuf\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+new (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Creates a new unicode string buffer. 

\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} on error.
\end{DoxyReturn}
This function creates a new string buffer. To free the resources, use \doxylink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c}{eina\+\_\+ustrbuf\+\_\+string\+\_\+get()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga06bd6ad213b0eb08926b15bb92a611fc}\label{group__Eina__Unicode__String__Buffer__Group_ga06bd6ad213b0eb08926b15bb92a611fc} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_manage\_new@{eina\_ustrbuf\_manage\_new}}
\index{eina\_ustrbuf\_manage\_new@{eina\_ustrbuf\_manage\_new}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_manage\_new()}{eina\_ustrbuf\_manage\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+manage\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str }\end{DoxyParamCaption})}



Creates a new string buffer using the passed string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em str} & The string to manage. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} on error.
\end{DoxyReturn}
This function creates a new unicode string buffer. The passed string is used directly as the buffer, it\textquotesingle{}s effectively the inverse of \doxylink{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8}{eina\+\_\+ustrbuf\+\_\+string\+\_\+steal()}. The passed string must be malloc\textquotesingle{}d. To free the resources, use \doxylink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c}{eina\+\_\+ustrbuf\+\_\+string\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+1.\+0 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga8688b0452b30c7e5787c46b6a99bfaa0}\label{group__Eina__Unicode__String__Buffer__Group_ga8688b0452b30c7e5787c46b6a99bfaa0} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_manage\_new\_length@{eina\_ustrbuf\_manage\_new\_length}}
\index{eina\_ustrbuf\_manage\_new\_length@{eina\_ustrbuf\_manage\_new\_length}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_manage\_new\_length()}{eina\_ustrbuf\_manage\_new\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+manage\+\_\+new\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})}



Creates a new string buffer using the passed string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em str} & The string to manage. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The length of the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Newly allocated string buffer instance, or {\ttfamily NULL} on error.
\end{DoxyReturn}
This function creates a new string buffer. The passed string is used directly as the buffer, it\textquotesingle{}s effectively the inverse of \doxylink{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8}{eina\+\_\+ustrbuf\+\_\+string\+\_\+steal()}. The passed string must be malloc\textquotesingle{}d. To free the resources, use \doxylink{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}{eina\+\_\+ustrbuf\+\_\+free()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga06bd6ad213b0eb08926b15bb92a611fc}{eina\+\_\+ustrbuf\+\_\+manage\+\_\+new()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6}\label{group__Eina__Unicode__String__Buffer__Group_ga9298f17b05bb0040a40d47c95469c6d6} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_free@{eina\_ustrbuf\_free}}
\index{eina\_ustrbuf\_free@{eina\_ustrbuf\_free}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_free()}{eina\_ustrbuf\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+ustrbuf\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Frees a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer to free.\\
\hline
\end{DoxyParams}
This function frees the memory of {\ttfamily buf}. {\ttfamily buf} must have been created by \doxylink{group__Eina__Unicode__String__Buffer__Group_ga77af8bc1c0e17b67f86cf417b518227f}{eina\+\_\+ustrbuf\+\_\+new()}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga0de303b63f547515d611c060d3caefb3}\label{group__Eina__Unicode__String__Buffer__Group_ga0de303b63f547515d611c060d3caefb3} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_reset@{eina\_ustrbuf\_reset}}
\index{eina\_ustrbuf\_reset@{eina\_ustrbuf\_reset}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_reset()}{eina\_ustrbuf\_reset()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+ustrbuf\+\_\+reset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Resets a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function resets {\ttfamily buf\+:} the buffer len is set to 0, and the string data is set to \textquotesingle{}\textbackslash{}0\textquotesingle{}. No memory is freed. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}\label{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append@{eina\_ustrbuf\_append}}
\index{eina\_ustrbuf\_append@{eina\_ustrbuf\_append}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append()}{eina\_ustrbuf\_append()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str }\end{DoxyParamCaption})}



Appends a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} on failure such as if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily str} to {\ttfamily buf}. It computes the length of {\ttfamily str}, so is slightly slower than \doxylink{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}{eina\+\_\+ustrbuf\+\_\+append\+\_\+length()}. If the length is known beforehand, consider using that variant.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}{eina\+\_\+ustrbuf\+\_\+append\+\_\+length()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga130507a97d1a07c3811ccab1ccca1a34}\label{group__Eina__Unicode__String__Buffer__Group_ga130507a97d1a07c3811ccab1ccca1a34} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append\_escaped@{eina\_ustrbuf\_append\_escaped}}
\index{eina\_ustrbuf\_append\_escaped@{eina\_ustrbuf\_append\_escaped}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append\_escaped()}{eina\_ustrbuf\_append\_escaped()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append\+\_\+escaped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str }\end{DoxyParamCaption})}



Appends an escaped string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends the escaped string {\ttfamily str} to {\ttfamily buf}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga1b62f3a6971c21a83104d410ae6d4ade}\label{group__Eina__Unicode__String__Buffer__Group_ga1b62f3a6971c21a83104d410ae6d4ade} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append\_n@{eina\_ustrbuf\_append\_n}}
\index{eina\_ustrbuf\_append\_n@{eina\_ustrbuf\_append\_n}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append\_n()}{eina\_ustrbuf\_append\_n()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append\+\_\+n (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{maxlen }\end{DoxyParamCaption})}



Appends a string to a buffer, reallocating as necessary, limited by the given length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of characters to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends at most {\ttfamily maxlen} characters of {\ttfamily str} to {\ttfamily buf}. It can\textquotesingle{}t append more than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so is slightly slower than \doxylink{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}{eina\+\_\+ustrbuf\+\_\+append\+\_\+length()}. If the length is known beforehand, consider using that variant ({\ttfamily maxlen} should then be checked so that it is greater than the size of {\ttfamily str}).

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}{eina\+\_\+ustrbuf\+\_\+append\+\_\+length()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627}\label{group__Eina__Unicode__String__Buffer__Group_ga655e7beacab411436feae57a3e28e627} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append\_length@{eina\_ustrbuf\_append\_length}}
\index{eina\_ustrbuf\_append\_length@{eina\_ustrbuf\_append\_length}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append\_length()}{eina\_ustrbuf\_append\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{length }\end{DoxyParamCaption})}



Appends a string of exact length to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to append. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily str} to {\ttfamily buf}. {\ttfamily str} must be of size at most {\ttfamily length}. It is slightly faster than \doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} as it does not compute the size of {\ttfamily str}. It is useful when dealing with strings of known size, such as eina\+\_\+stringshare.

\begin{DoxySeeAlso}{See also}
eina\+\_\+stringshare\+\_\+length() 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga1b62f3a6971c21a83104d410ae6d4ade}{eina\+\_\+ustrbuf\+\_\+append\+\_\+n()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga16a88f2aa92e1aae413980320ffd1773}\label{group__Eina__Unicode__String__Buffer__Group_ga16a88f2aa92e1aae413980320ffd1773} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append\_slice@{eina\_ustrbuf\_append\_slice}}
\index{eina\_ustrbuf\_append\_slice@{eina\_ustrbuf\_append\_slice}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append\_slice()}{eina\_ustrbuf\_append\_slice()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append\+\_\+slice (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}}}]{slice }\end{DoxyParamCaption})}



Appends a slice to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em slice} & The slice to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily slice} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily slice} to {\ttfamily buf}.

\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga8dadb74e7d1664d4656b64c1bcdbd872}\label{group__Eina__Unicode__String__Buffer__Group_ga8dadb74e7d1664d4656b64c1bcdbd872} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_append\_char@{eina\_ustrbuf\_append\_char}}
\index{eina\_ustrbuf\_append\_char@{eina\_ustrbuf\_append\_char}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_append\_char()}{eina\_ustrbuf\_append\_char()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+append\+\_\+char (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}}}]{c }\end{DoxyParamCaption})}



Appends a character to a string buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The char to append. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily c} could not be appended.
\end{DoxyReturn}
This function appends {\ttfamily c} to {\ttfamily buf}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}\label{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert@{eina\_ustrbuf\_insert}}
\index{eina\_ustrbuf\_insert@{eina\_ustrbuf\_insert}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert()}{eina\_ustrbuf\_insert()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} to {\ttfamily buf} at position {\ttfamily pos}. It computes the length of {\ttfamily str}, so is slightly slower than \doxylink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length()}. If the length is known beforehand, consider using that variant. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847}\label{group__Eina__Unicode__String__Buffer__Group_ga3b260ad4bb1a39543c1ee4069dd8c847} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert\_escaped@{eina\_ustrbuf\_insert\_escaped}}
\index{eina\_ustrbuf\_insert\_escaped@{eina\_ustrbuf\_insert\_escaped}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert\_escaped()}{eina\_ustrbuf\_insert\_escaped()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert\+\_\+escaped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts an escaped string to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts the escaped string {\ttfamily str} to {\ttfamily buf} at position {\ttfamily pos}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}\label{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert\_n@{eina\_ustrbuf\_insert\_n}}
\index{eina\_ustrbuf\_insert\_n@{eina\_ustrbuf\_insert\_n}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert\_n()}{eina\_ustrbuf\_insert\_n()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert\+\_\+n (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{maxlen,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string to a buffer, reallocating as necessary. 

Limited by maxlen.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em maxlen} & The maximum number of chars to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} into {\ttfamily buf} at position {\ttfamily pos}, with at most {\ttfamily maxlen} bytes. The number of inserted characters cannot be greater than the length of {\ttfamily str}. It computes the length of {\ttfamily str}, so is slightly slower than \doxylink{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+length()}. If the length is known beforehand, consider using that variant ({\ttfamily maxlen} should then be checked so that it is greater than the size of {\ttfamily str}). \Hypertarget{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011}\label{group__Eina__Unicode__String__Buffer__Group_gacb0881d45f7ae26a4d069ac77afb9011} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert\_length@{eina\_ustrbuf\_insert\_length}}
\index{eina\_ustrbuf\_insert\_length@{eina\_ustrbuf\_insert\_length}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert\_length()}{eina\_ustrbuf\_insert\_length()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert\+\_\+length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*}}]{str,  }\item[{size\+\_\+t}]{length,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a string of exact length to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em str} & The string to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em length} & The exact length to use. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily str} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily str} into {\ttfamily buf}. {\ttfamily str} must be no longer than {\ttfamily length}. It is slightly faster than \doxylink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert()} as it does not compute the size of {\ttfamily str}. It is useful when dealing with strings of known size, such as eina\+\_\+stringshare.

\begin{DoxySeeAlso}{See also}
eina\+\_\+stringshare\+\_\+length() 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga77f470ecac5f4a662e3a5b09d6791f18}{eina\+\_\+ustrbuf\+\_\+insert()} 

\doxylink{group__Eina__Unicode__String__Buffer__Group_ga4c840e32e8a11f910673874d1c23fdb9}{eina\+\_\+ustrbuf\+\_\+insert\+\_\+n()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga8728a6560555d70938feb15ff5dc2ba1}\label{group__Eina__Unicode__String__Buffer__Group_ga8728a6560555d70938feb15ff5dc2ba1} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert\_slice@{eina\_ustrbuf\_insert\_slice}}
\index{eina\_ustrbuf\_insert\_slice@{eina\_ustrbuf\_insert\_slice}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert\_slice()}{eina\_ustrbuf\_insert\_slice()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert\+\_\+slice (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{const \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}}}]{slice,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a slice to a buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em slice} & The slice to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the string. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily slice} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily slice} to {\ttfamily buf} at position {\ttfamily pos}.

\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga45dc59267b6891b6e3a7649cf72dfb39}\label{group__Eina__Unicode__String__Buffer__Group_ga45dc59267b6891b6e3a7649cf72dfb39} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_insert\_char@{eina\_ustrbuf\_insert\_char}}
\index{eina\_ustrbuf\_insert\_char@{eina\_ustrbuf\_insert\_char}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_insert\_char()}{eina\_ustrbuf\_insert\_char()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+insert\+\_\+char (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{\mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}}}]{c,  }\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})}



Inserts a character to a string buffer, reallocating as necessary. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\mbox{\texttt{ in}}  & {\em c} & The char to insert. \\
\hline
\mbox{\texttt{ in}}  & {\em pos} & The position to insert the char. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} if {\ttfamily c} could not be inserted.
\end{DoxyReturn}
This function inserts {\ttfamily c} to {\ttfamily buf} at position {\ttfamily pos}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_gad3556fee9cef5b232f40e8c3c0a4bddd}\label{group__Eina__Unicode__String__Buffer__Group_gad3556fee9cef5b232f40e8c3c0a4bddd} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_remove@{eina\_ustrbuf\_remove}}
\index{eina\_ustrbuf\_remove@{eina\_ustrbuf\_remove}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_remove()}{eina\_ustrbuf\_remove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+ustrbuf\+\_\+remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf,  }\item[{size\+\_\+t}]{start,  }\item[{size\+\_\+t}]{end }\end{DoxyParamCaption})}



Removes a section of the given string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer to remove a slice. \\
\hline
\mbox{\texttt{ in}}  & {\em start} & The initial (inclusive) slice position to start removing, in bytes. \\
\hline
\mbox{\texttt{ in}}  & {\em end} & The final (non-\/inclusive) slice position to finish removing, in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} on failure.
\end{DoxyReturn}
This function removes a slice of {\ttfamily buf}, starting at {\ttfamily start} (inclusive) and ending at {\ttfamily end} (non-\/inclusive). Both values are in bytes. 

Referenced by \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaf8b581754d737517b24bb4da782f8a14}{evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+delete()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gab3b7bdbafaae674784f63a04437e6b02}{evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+delete()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaa090505c50af34ffde0973ccfa9f422e}{evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+remove\+\_\+pair()}}.

\Hypertarget{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c}\label{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_string\_get@{eina\_ustrbuf\_string\_get}}
\index{eina\_ustrbuf\_string\_get@{eina\_ustrbuf\_string\_get}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_string\_get()}{eina\_ustrbuf\_string\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} const \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+string\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Retrieves a pointer to the contents of a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current string in the string buffer.
\end{DoxyReturn}
This function returns the string contained in {\ttfamily buf}. The returned value must not be modified and will no longer be valid if {\ttfamily buf} is modified. In other words, calling \doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} or similar functions will make this pointer invalid.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8}{eina\+\_\+ustrbuf\+\_\+string\+\_\+steal()} 
\end{DoxySeeAlso}


Referenced by \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaf8b581754d737517b24bb4da782f8a14}{evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+delete()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga16f2d4d29756e0bd620728cd4733de51}{evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac9a7751e9d88f8f00202b81f064a0be5}{evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+end()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac17a7c6f746151deab8963b2f3607ea8}{evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+start()}}.

\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8}\label{group__Eina__Unicode__String__Buffer__Group_ga94d24e49ee1fdb74c96044389509a2a8} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_string\_steal@{eina\_ustrbuf\_string\_steal}}
\index{eina\_ustrbuf\_string\_steal@{eina\_ustrbuf\_string\_steal}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_string\_steal()}{eina\_ustrbuf\_string\_steal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+string\+\_\+steal (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Steals the contents of a string buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string that was contained in {\ttfamily buf}.
\end{DoxyReturn}
This function returns the string contained in {\ttfamily buf}. {\ttfamily buf} is then initialized and does not own the returned string anymore. The caller must release the memory of the returned string by calling free().

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Unicode__String__Buffer__Group_gaeaa1138a7b4f1c6a0a85d251d54d754c}{eina\+\_\+ustrbuf\+\_\+string\+\_\+get()} 
\end{DoxySeeAlso}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga740d295acffa841237fa45f99be5068c}\label{group__Eina__Unicode__String__Buffer__Group_ga740d295acffa841237fa45f99be5068c} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_string\_free@{eina\_ustrbuf\_string\_free}}
\index{eina\_ustrbuf\_string\_free@{eina\_ustrbuf\_string\_free}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_string\_free()}{eina\_ustrbuf\_string\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+ustrbuf\+\_\+string\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Frees the contents of a string buffer but not the buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer.\\
\hline
\end{DoxyParams}
This function frees the string contained in {\ttfamily buf} without freeing {\ttfamily buf}. \Hypertarget{group__Eina__Unicode__String__Buffer__Group_gaccb1e3edec09442755a43458333e0238}\label{group__Eina__Unicode__String__Buffer__Group_gaccb1e3edec09442755a43458333e0238} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_length\_get@{eina\_ustrbuf\_length\_get}}
\index{eina\_ustrbuf\_length\_get@{eina\_ustrbuf\_length\_get}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_length\_get()}{eina\_ustrbuf\_length\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} size\+\_\+t eina\+\_\+ustrbuf\+\_\+length\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Retrieves the length of the string buffer\textquotesingle{}s content. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current length of the string, in bytes.
\end{DoxyReturn}
This function returns the length of {\ttfamily buf}. 

Referenced by \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaf8b581754d737517b24bb4da782f8a14}{evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+delete()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaba5ca07e46d08b9f3bc1a7abb00f7b8c}{evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+char\+\_\+last()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga50961d1b849ae9ca713ef8ef54617097}{evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+text\+\_\+length\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gaf498e11fca892cefa9766a00f79f3435}{evas\+\_\+textblock\+\_\+cursor\+\_\+pos\+\_\+get()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_ga422ab98d0e52e39a89ab93cefb15b59a}{evas\+\_\+textblock\+\_\+cursor\+\_\+pos\+\_\+set()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gab3b7bdbafaae674784f63a04437e6b02}{evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+delete()}}, \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac9a7751e9d88f8f00202b81f064a0be5}{evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+end()}}, and \mbox{\hyperlink{group__Evas__Object__Textblock__Group_gac17a7c6f746151deab8963b2f3607ea8}{evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+start()}}.

\Hypertarget{group__Eina__Unicode__String__Buffer__Group_gaea0ac011bd416bb3aeb227c3cb497a5a}\label{group__Eina__Unicode__String__Buffer__Group_gaea0ac011bd416bb3aeb227c3cb497a5a} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_slice\_get@{eina\_ustrbuf\_slice\_get}}
\index{eina\_ustrbuf\_slice\_get@{eina\_ustrbuf\_slice\_get}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_slice\_get()}{eina\_ustrbuf\_slice\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gab75399abc5bb50cf1135cb8485cbedcc}{Eina\+\_\+\+Slice}} eina\+\_\+ustrbuf\+\_\+slice\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Gets a read-\/only slice of the buffer contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A read-\/only slice for the current contents. It may become invalid as soon as {\itshape buf} is changed.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga00c874e76cfedbb178d9f3dd58ff3a3f}\label{group__Eina__Unicode__String__Buffer__Group_ga00c874e76cfedbb178d9f3dd58ff3a3f} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_rw\_slice\_get@{eina\_ustrbuf\_rw\_slice\_get}}
\index{eina\_ustrbuf\_rw\_slice\_get@{eina\_ustrbuf\_rw\_slice\_get}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_rw\_slice\_get()}{eina\_ustrbuf\_rw\_slice\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} eina\+\_\+ustrbuf\+\_\+rw\+\_\+slice\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Gets a read-\/write slice of the buffer contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A read-\/write slice for the current contents. It may become invalid as soon as the {\ttfamily buf} is changed, such as through calls like \doxylink{group__Eina__Unicode__String__Buffer__Group_ga6fa8844e268431fc6bde02ebb60d99e7}{eina\+\_\+ustrbuf\+\_\+append()} or \doxylink{group__Eina__Unicode__String__Buffer__Group_gad3556fee9cef5b232f40e8c3c0a4bddd}{eina\+\_\+ustrbuf\+\_\+remove()}.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19.\+0 
\end{DoxySince}
\Hypertarget{group__Eina__Unicode__String__Buffer__Group_ga26f2b3922fd6cf4ffbc174d70d347d3b}\label{group__Eina__Unicode__String__Buffer__Group_ga26f2b3922fd6cf4ffbc174d70d347d3b} 
\index{Unicode String Buffer@{Unicode String Buffer}!eina\_ustrbuf\_release@{eina\_ustrbuf\_release}}
\index{eina\_ustrbuf\_release@{eina\_ustrbuf\_release}!Unicode String Buffer@{Unicode String Buffer}}
\doxysubsubsubsubsection{\texorpdfstring{eina\_ustrbuf\_release()}{eina\_ustrbuf\_release()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Unicode__String_ga00d6dbe6710822ef81e9539fc57c4b12}{Eina\+\_\+\+Unicode}} \texorpdfstring{$\ast$}{*} eina\+\_\+ustrbuf\+\_\+release (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Unicode__String__Buffer__Group_ga1eafaa2e98b141efc47bc19d892da81b}{Eina\+\_\+\+UStrbuf}} \texorpdfstring{$\ast$}{*}}]{buf }\end{DoxyParamCaption})}



Frees the buffer, returning its old contents. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em buf} & The string buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string contained by buf. The caller must release the memory of the returned string by calling free().
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
