Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 94774a05d4f99367afd97b8b4adf565d > files > 1098

libfilezilla-devel-0.19.3-1.mga7.armv7hl.rpm

\hypertarget{string_8hpp}{}\section{string.\+hpp File Reference}
\label{string_8hpp}\index{string.hpp@{string.hpp}}


String types and assorted functions.  


{\ttfamily \#include \char`\"{}libfilezilla.\+hpp\char`\"{}}\newline
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
Include dependency graph for string.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{string_8hpp__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{string_8hpp__dep__incl}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structfz_1_1less__insensitive__ascii}{less\+\_\+insensitive\+\_\+ascii}}
\begin{DoxyCompactList}\small\item\em Comparator to be used for std\+::map for case-\/insentitive keys. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespacefz}{fz}}
\begin{DoxyCompactList}\small\item\em The namespace used by libfilezilla. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{string_8hpp_aaa2c9ae59dd9e091905053cb8011aa43}{fzT}}(x)~L \#\# x
\begin{DoxyCompactList}\small\item\em Macro for a string literal in system-\/native character type.~\newline
 Note\+: Macro definition changes depending on platform! \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{string_8hpp_aab9f701c5f70a509b1e4ca0ca3c8509e}{fzS}}(Char,  s)~\mbox{\hyperlink{namespacefz_a1efe94f0443fb3cbd12528b898836883}{fz\+::choose\+\_\+string}}$<$Char$>$(s, L \#\# s)
\begin{DoxyCompactList}\small\item\em Macro to get const pointer to a string of the corresponding type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\+::wstring \mbox{\hyperlink{namespacefz_a79dcecd35ee9a55ae1a5afe76d23e9e5}{native\+\_\+string}}
\begin{DoxyCompactList}\small\item\em A string in the system\textquotesingle{}s native character type and encoding.~\newline
 Note\+: This typedef changes depending on platform! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_ad19ccd1f041d5cf112a10b08ce8169e5}\label{namespacefz_ad19ccd1f041d5cf112a10b08ce8169e5}} 
typedef std\+::wstring\+\_\+view {\bfseries native\+\_\+string\+\_\+view}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
native\+\_\+string \mbox{\hyperlink{namespacefz_aeeb59f0c96ab91967b9d2a41e52fce8d}{to\+\_\+native}} (std\+::string\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Converts std\+::string to native\+\_\+string. \end{DoxyCompactList}\item 
native\+\_\+string \mbox{\hyperlink{namespacefz_a6209fbad5075b9642df067e9746fe822}{to\+\_\+native}} (std\+::wstring\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Convert std\+::wstring to native\+\_\+string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_adb06b219b3c0695f8f53bc11bca49c83}\label{namespacefz_adb06b219b3c0695f8f53bc11bca49c83}} 
{\footnotesize template$<$typename T , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ native\+\_\+string, typename std\+::decay\+\_\+t$<$ T $>$$>$, int $>$  = 0$>$ }\\native\+\_\+string \mbox{\hyperlink{namespacefz_adb06b219b3c0695f8f53bc11bca49c83}{to\+\_\+native}} (T const \&in)
\begin{DoxyCompactList}\small\item\em Avoid converting native\+\_\+string to native\+\_\+string\+\_\+view and back to string\+\_\+view. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{namespacefz_a8c4c2897b399a6caf18aff614c6d58e6}{stricmp}} (std\+::string\+\_\+view const \&a, std\+::string\+\_\+view const \&b)
\begin{DoxyCompactList}\small\item\em Locale-\/sensitive stricmp. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a5e332604e836910c91c0a39864a0c769}\label{namespacefz_a5e332604e836910c91c0a39864a0c769}} 
int {\bfseries stricmp} (std\+::wstring\+\_\+view const \&a, std\+::wstring\+\_\+view const \&b)
\item 
{\footnotesize template$<$typename Char $>$ }\\Char \mbox{\hyperlink{namespacefz_a611f4d9c3c669396052e117e82e1ef4e}{tolower\+\_\+ascii}} (Char c)
\begin{DoxyCompactList}\small\item\em Converts A\+S\+C\+II uppercase characters to lowercase as if C-\/locale is used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a49442d6f99d31a6be40b964ab2cdf357}\label{namespacefz_a49442d6f99d31a6be40b964ab2cdf357}} 
{\footnotesize template$<$$>$ }\\std\+::wstring\+::value\+\_\+type {\bfseries tolower\+\_\+ascii} (std\+::wstring\+::value\+\_\+type c)
\item 
\mbox{\Hypertarget{namespacefz_a35106091b985e7138b55edeac1525050}\label{namespacefz_a35106091b985e7138b55edeac1525050}} 
{\footnotesize template$<$typename Char $>$ }\\Char \mbox{\hyperlink{namespacefz_a35106091b985e7138b55edeac1525050}{toupper\+\_\+ascii}} (Char c)
\begin{DoxyCompactList}\small\item\em Converts A\+S\+C\+II lowercase characters to uppercase as if C-\/locale is used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_af1a4bf3c2132d8630a450dbb195d4118}\label{namespacefz_af1a4bf3c2132d8630a450dbb195d4118}} 
{\footnotesize template$<$$>$ }\\std\+::wstring\+::value\+\_\+type {\bfseries toupper\+\_\+ascii} (std\+::wstring\+::value\+\_\+type c)
\item 
\mbox{\Hypertarget{namespacefz_a9c06fde7112d4a6095ad41539a41f058}\label{namespacefz_a9c06fde7112d4a6095ad41539a41f058}} 
std\+::string \mbox{\hyperlink{namespacefz_a9c06fde7112d4a6095ad41539a41f058}{str\+\_\+tolower\+\_\+ascii}} (std\+::string\+\_\+view const \&s)
\begin{DoxyCompactList}\small\item\em tr\+\_\+tolower\+\_\+ascii does for strings what tolower\+\_\+ascii does for individual characters \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_ac20cd560105034e6dc139491036159cb}\label{namespacefz_ac20cd560105034e6dc139491036159cb}} 
std\+::wstring {\bfseries str\+\_\+tolower\+\_\+ascii} (std\+::wstring\+\_\+view const \&s)
\item 
\mbox{\Hypertarget{namespacefz_a110ea3d852653d29c19322aa3e943890}\label{namespacefz_a110ea3d852653d29c19322aa3e943890}} 
std\+::string {\bfseries str\+\_\+toupper\+\_\+ascii} (std\+::string\+\_\+view const \&s)
\item 
\mbox{\Hypertarget{namespacefz_a7ea2f32dd04505c9f37c6d7186dc3364}\label{namespacefz_a7ea2f32dd04505c9f37c6d7186dc3364}} 
std\+::wstring {\bfseries str\+\_\+toupper\+\_\+ascii} (std\+::wstring\+\_\+view const \&s)
\item 
{\footnotesize template$<$typename String $>$ }\\bool \mbox{\hyperlink{namespacefz_ae09e50527d047d4f4b78c22096e38f7d}{equal\+\_\+insensitive\+\_\+ascii}} (String const \&a, String const \&b)
\begin{DoxyCompactList}\small\item\em Locale-\/insensitive stricmp. \end{DoxyCompactList}\item 
std\+::wstring \mbox{\hyperlink{namespacefz_a5fce6c5f25b1277c4e4c9417dcb98361}{to\+\_\+wstring}} (std\+::string\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Converts from std\+::string in system encoding into std\+::wstring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a84224c2a2ff0725a9a86beefbd6cc16b}\label{namespacefz_a84224c2a2ff0725a9a86beefbd6cc16b}} 
std\+::wstring \mbox{\hyperlink{namespacefz_a84224c2a2ff0725a9a86beefbd6cc16b}{to\+\_\+wstring}} (std\+::wstring const \&in)
\begin{DoxyCompactList}\small\item\em Returns identity, that way to\+\_\+wstring can be called with native\+\_\+string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a3348a7aa7117960a7e82c0178271a4db}\label{namespacefz_a3348a7aa7117960a7e82c0178271a4db}} 
{\footnotesize template$<$typename Arg $>$ }\\std\+::enable\+\_\+if$<$ std\+::is\+\_\+arithmetic$<$ std\+::decay\+\_\+t$<$ Arg $>$ $>$\+::value, std\+::wstring $>$\+::type \mbox{\hyperlink{namespacefz_a3348a7aa7117960a7e82c0178271a4db}{to\+\_\+wstring}} (Arg \&\&arg)
\begin{DoxyCompactList}\small\item\em Converts from arithmetic type to std\+::wstring. \end{DoxyCompactList}\item 
std\+::wstring \mbox{\hyperlink{namespacefz_a83f84ad09eecf10e321c6ceba803d66b}{to\+\_\+wstring\+\_\+from\+\_\+utf8}} (std\+::string const \&in)
\begin{DoxyCompactList}\small\item\em Converts from std\+::string in U\+T\+F-\/8 into std\+::wstring. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_af5c8d803b8a78d45fcee02b7e8906eae}\label{namespacefz_af5c8d803b8a78d45fcee02b7e8906eae}} 
std\+::wstring {\bfseries to\+\_\+wstring\+\_\+from\+\_\+utf8} (char const $\ast$s, size\+\_\+t len)
\item 
std\+::string \mbox{\hyperlink{namespacefz_aabb4fc6ca0cdc52ad2257ccd2108e0cf}{to\+\_\+string}} (std\+::wstring\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Converts from std\+::wstring into std\+::string in system encoding. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_aded774cf90e1f6b25fde7b25726be2f8}\label{namespacefz_aded774cf90e1f6b25fde7b25726be2f8}} 
std\+::string \mbox{\hyperlink{namespacefz_aded774cf90e1f6b25fde7b25726be2f8}{to\+\_\+string}} (std\+::string const \&in)
\begin{DoxyCompactList}\small\item\em Returns identity, that way to\+\_\+string can be called with native\+\_\+string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a98b91f9bc74d15b6657a1844a44d49bc}\label{namespacefz_a98b91f9bc74d15b6657a1844a44d49bc}} 
{\footnotesize template$<$typename Arg $>$ }\\std\+::enable\+\_\+if$<$ std\+::is\+\_\+arithmetic$<$ std\+::decay\+\_\+t$<$ Arg $>$ $>$\+::value, std\+::string $>$\+::type \mbox{\hyperlink{namespacefz_a98b91f9bc74d15b6657a1844a44d49bc}{to\+\_\+string}} (Arg \&\&arg)
\begin{DoxyCompactList}\small\item\em Converts from arithmetic type to std\+::string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a67e1df5d0d05e5e7c5e22c29d6c545f5}\label{namespacefz_a67e1df5d0d05e5e7c5e22c29d6c545f5}} 
{\footnotesize template$<$typename Char $>$ }\\size\+\_\+t \mbox{\hyperlink{namespacefz_a67e1df5d0d05e5e7c5e22c29d6c545f5}{strlen}} (Char const $\ast$str)
\begin{DoxyCompactList}\small\item\em Returns length of 0-\/terminated character sequence. Works with both narrow and wide-\/characters. \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{namespacefz_abfe95beccbf8d76098c6f1c79bbe4b27}{to\+\_\+utf8}} (std\+::string\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Converts from std\+::string in native encoding into std\+::string in U\+T\+F-\/8. \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{namespacefz_af81bdd1a7d661db9765b0876cf6e0817}{to\+\_\+utf8}} (std\+::wstring\+\_\+view const \&in)
\begin{DoxyCompactList}\small\item\em Converts from std\+::wstring in native encoding into std\+::string in U\+T\+F-\/8. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_aeea995d49346bdefe4f18c15da6fe7c8}\label{namespacefz_aeea995d49346bdefe4f18c15da6fe7c8}} 
{\footnotesize template$<$typename String , typename Arg $>$ }\\auto \mbox{\hyperlink{namespacefz_aeea995d49346bdefe4f18c15da6fe7c8}{to\+String}} (Arg \&\&arg) -\/$>$ typename std\+::enable\+\_\+if$<$ std\+::is\+\_\+same$<$ String, std\+::string $>$\+::value, decltype(to\+\_\+string(std\+::forward$<$ Arg $>$(arg)))$>$\+::type
\begin{DoxyCompactList}\small\item\em Calls either \mbox{\hyperlink{namespacefz_aabb4fc6ca0cdc52ad2257ccd2108e0cf}{fz\+::to\+\_\+string}} or \mbox{\hyperlink{namespacefz_a5fce6c5f25b1277c4e4c9417dcb98361}{fz\+::to\+\_\+wstring}} depending on the passed template argument. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Char $>$ }\\Char const  $\ast$ \mbox{\hyperlink{namespacefz_a1efe94f0443fb3cbd12528b898836883}{choose\+\_\+string}} (char const $\ast$c, wchar\+\_\+t const $\ast$w)
\begin{DoxyCompactList}\small\item\em Returns the function argument of the type matching the template argument. \end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\char const  $\ast$ \mbox{\hyperlink{namespacefz_ae002a7527f8ca2d33bb038c793df3684}{choose\+\_\+string}} (char const $\ast$c, wchar\+\_\+t const $\ast$)
\begin{DoxyCompactList}\small\item\em Returns the function argument of the type matching the template argument. \end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\wchar\+\_\+t const  $\ast$ \mbox{\hyperlink{namespacefz_ad2a665cc755c5431ac11227e22bdd76d}{choose\+\_\+string}} (char const $\ast$, wchar\+\_\+t const $\ast$w)
\begin{DoxyCompactList}\small\item\em Returns the function argument of the type matching the template argument. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_acbd27394b1eb034efe31fae9d7c13786}\label{namespacefz_acbd27394b1eb034efe31fae9d7c13786}} 
std\+::string \mbox{\hyperlink{namespacefz_acbd27394b1eb034efe31fae9d7c13786}{replaced\+\_\+substrings}} (std\+::string const \&in, std\+::string const \&find, std\+::string const \&replacement)
\begin{DoxyCompactList}\small\item\em Returns {\ttfamily in} with all occurrences of {\ttfamily find} in the input string replaced with {\ttfamily replacement}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a1e2f29904dfaa567b37f7f3e8161d774}\label{namespacefz_a1e2f29904dfaa567b37f7f3e8161d774}} 
std\+::wstring {\bfseries replaced\+\_\+substrings} (std\+::wstring const \&in, std\+::wstring const \&find, std\+::wstring const \&replacement)
\item 
\mbox{\Hypertarget{namespacefz_ae375fd9dc3c765db4f3d4291caf63851}\label{namespacefz_ae375fd9dc3c765db4f3d4291caf63851}} 
bool \mbox{\hyperlink{namespacefz_ae375fd9dc3c765db4f3d4291caf63851}{replace\+\_\+substrings}} (std\+::string \&in, std\+::string const \&find, std\+::string const \&replacement)
\begin{DoxyCompactList}\small\item\em Modifies {\ttfamily in}, replacing all occurrences of {\ttfamily find} with {\ttfamily replacement}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a53b08270c23fb9c3299f6eee60e87c8a}\label{namespacefz_a53b08270c23fb9c3299f6eee60e87c8a}} 
bool {\bfseries replace\+\_\+substrings} (std\+::wstring \&in, std\+::wstring const \&find, std\+::wstring const \&replacement)
\item 
std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{namespacefz_add0215b7b6461f02493c2a7ef5c0348d}{strtok}} (std\+::string\+\_\+view const \&tokens, std\+::string\+\_\+view const \&delims, bool const ignore\+\_\+empty=true)
\begin{DoxyCompactList}\small\item\em Tokenizes string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a772aef735250b32bfc8ad8f4890d1660}\label{namespacefz_a772aef735250b32bfc8ad8f4890d1660}} 
std\+::vector$<$ std\+::wstring $>$ {\bfseries strtok} (std\+::wstring\+\_\+view const \&tokens, std\+::wstring\+\_\+view const \&delims, bool const ignore\+\_\+empty=true)
\item 
\mbox{\Hypertarget{namespacefz_a8d2af649f4ce9f8aade5e684f711b890}\label{namespacefz_a8d2af649f4ce9f8aade5e684f711b890}} 
auto {\bfseries strtok} (std\+::string\+\_\+view const \&tokens, char const delim, bool const ignore\+\_\+empty=true)
\item 
\mbox{\Hypertarget{namespacefz_a86424d56881e3a084a9a430802eda0a5}\label{namespacefz_a86424d56881e3a084a9a430802eda0a5}} 
auto {\bfseries strtok} (std\+::wstring\+\_\+view const \&tokens, wchar\+\_\+t const delim, bool const ignore\+\_\+empty=true)
\item 
std\+::vector$<$ std\+::string\+\_\+view $>$ \mbox{\hyperlink{namespacefz_a98546a9f1e6219fbf5f1aa7e275e0f3e}{strtok\+\_\+view}} (std\+::string\+\_\+view const \&tokens, std\+::string\+\_\+view const \&delims, bool const ignore\+\_\+empty=true)
\begin{DoxyCompactList}\small\item\em Tokenizes string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a9af5e4f3170d5466a33492a88ee9bba8}\label{namespacefz_a9af5e4f3170d5466a33492a88ee9bba8}} 
std\+::vector$<$ std\+::wstring\+\_\+view $>$ {\bfseries strtok\+\_\+view} (std\+::wstring\+\_\+view const \&tokens, std\+::wstring\+\_\+view const \&delims, bool const ignore\+\_\+empty=true)
\item 
\mbox{\Hypertarget{namespacefz_ace36c07c86ee77503d77ee2425764cab}\label{namespacefz_ace36c07c86ee77503d77ee2425764cab}} 
auto {\bfseries strtok\+\_\+view} (std\+::string\+\_\+view const \&tokens, char const delim, bool const ignore\+\_\+empty=true)
\item 
\mbox{\Hypertarget{namespacefz_a2f0c850441423fc0af86264c55000aaa}\label{namespacefz_a2f0c850441423fc0af86264c55000aaa}} 
auto {\bfseries strtok\+\_\+view} (std\+::wstring\+\_\+view const \&tokens, wchar\+\_\+t const delim, bool const ignore\+\_\+empty=true)
\item 
\mbox{\Hypertarget{namespacefz_aeacdcb1893211e0b1f5c17f2c36d35c5}\label{namespacefz_aeacdcb1893211e0b1f5c17f2c36d35c5}} 
{\footnotesize template$<$typename T $>$ }\\T \mbox{\hyperlink{namespacefz_aeacdcb1893211e0b1f5c17f2c36d35c5}{to\+\_\+integral}} (std\+::string\+\_\+view const \&s, T const errorval=T())
\begin{DoxyCompactList}\small\item\em Converts string to integral type T. If string is not convertible, errorval is returned. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a875bb80c7b4ac0b702ed3e17f59eadfa}\label{namespacefz_a875bb80c7b4ac0b702ed3e17f59eadfa}} 
{\footnotesize template$<$typename T $>$ }\\T {\bfseries to\+\_\+integral} (std\+::wstring\+\_\+view const \&s, T const errorval=T())
\item 
\mbox{\Hypertarget{namespacefz_a0f79ba79daac858f6256e436828ebd41}\label{namespacefz_a0f79ba79daac858f6256e436828ebd41}} 
{\footnotesize template$<$typename T , typename String\+Type $>$ }\\T {\bfseries to\+\_\+integral} (std\+::basic\+\_\+string\+\_\+view$<$ String\+Type $>$ const \&s, T const errorval=T())
\item 
\mbox{\Hypertarget{namespacefz_aaa73aea54ea703f9f002544c61d2af1a}\label{namespacefz_aaa73aea54ea703f9f002544c61d2af1a}} 
{\footnotesize template$<$typename String $>$ }\\bool \mbox{\hyperlink{namespacefz_aaa73aea54ea703f9f002544c61d2af1a}{str\+\_\+is\+\_\+ascii}} (String const \&s)
\begin{DoxyCompactList}\small\item\em Returns true iff the string only has characters in the 7-\/bit A\+S\+C\+II range. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a351d83e575c33b7f01353a0c32d3cf88}\label{namespacefz_a351d83e575c33b7f01353a0c32d3cf88}} 
std\+::string \mbox{\hyperlink{namespacefz_a351d83e575c33b7f01353a0c32d3cf88}{trimmed}} (std\+::string\+\_\+view s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{}, bool from\+Left=true, bool from\+Right=true)
\begin{DoxyCompactList}\small\item\em Return passed string with all leading and trailing whitespace removed. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a8d6fbea89f5559f3e342eca488fafd9c}\label{namespacefz_a8d6fbea89f5559f3e342eca488fafd9c}} 
std\+::wstring {\bfseries trimmed} (std\+::wstring\+\_\+view s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{}, bool from\+Left=true, bool from\+Right=true)
\item 
\mbox{\Hypertarget{namespacefz_a51e0a2b14e6d64f3e08fc5cac7a62a8a}\label{namespacefz_a51e0a2b14e6d64f3e08fc5cac7a62a8a}} 
std\+::string {\bfseries ltrimmed} (std\+::string\+\_\+view s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_a95205c6217a774e904fec4890a8b5f94}\label{namespacefz_a95205c6217a774e904fec4890a8b5f94}} 
std\+::wstring {\bfseries ltrimmed} (std\+::wstring\+\_\+view s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_a4bf5200b1c0b9c0d9aa0d1752a3a0486}\label{namespacefz_a4bf5200b1c0b9c0d9aa0d1752a3a0486}} 
std\+::string {\bfseries rtrimmed} (std\+::string\+\_\+view s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_af7cf722f38aaa1add6681267b374c77c}\label{namespacefz_af7cf722f38aaa1add6681267b374c77c}} 
std\+::wstring {\bfseries rtrimmed} (std\+::wstring\+\_\+view s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_aa7b27b5cd8361d262a8e5f9f2c43672d}\label{namespacefz_aa7b27b5cd8361d262a8e5f9f2c43672d}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, char $>$, int $>$  = 0$>$ }\\void \mbox{\hyperlink{namespacefz_aa7b27b5cd8361d262a8e5f9f2c43672d}{trim}} (String \&s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{}, bool from\+Left=true, bool from\+Right=true)
\begin{DoxyCompactList}\small\item\em Remove all leading and trailing whitespace from string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespacefz_a4372cea468503cb29bb5007c89c32f5a}\label{namespacefz_a4372cea468503cb29bb5007c89c32f5a}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, wchar\+\_\+t $>$, int $>$  = 0$>$ }\\void {\bfseries trim} (String \&s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{}, bool from\+Left=true, bool from\+Right=true)
\item 
\mbox{\Hypertarget{namespacefz_a11cbd11374fae2e6f2588be5d876f29a}\label{namespacefz_a11cbd11374fae2e6f2588be5d876f29a}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, char $>$, int $>$  = 0$>$ }\\void {\bfseries ltrim} (String \&s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_a5bae9239edf9e7717a8baf21ee4a3745}\label{namespacefz_a5bae9239edf9e7717a8baf21ee4a3745}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, wchar\+\_\+t $>$, int $>$  = 0$>$ }\\void {\bfseries ltrim} (String \&s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_a17487141380d0993817b19f0c61c43c3}\label{namespacefz_a17487141380d0993817b19f0c61c43c3}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, char $>$, int $>$  = 0$>$ }\\void {\bfseries rtrim} (String \&s, std\+::string\+\_\+view const \&chars=\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
\mbox{\Hypertarget{namespacefz_a74a1f3adf9798aaa498be3b8921cabb5}\label{namespacefz_a74a1f3adf9798aaa498be3b8921cabb5}} 
{\footnotesize template$<$typename String , typename std\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+same\+\_\+v$<$ typename String\+::value\+\_\+type, wchar\+\_\+t $>$, int $>$  = 0$>$ }\\void {\bfseries rtrim} (String \&s, std\+::wstring\+\_\+view const \&chars=L\char`\"{} \textbackslash{}r\textbackslash{}n\textbackslash{}t\char`\"{})
\item 
{\footnotesize template$<$bool insensitive\+\_\+ascii = false, typename String $>$ }\\bool \mbox{\hyperlink{namespacefz_aae7b0245a1629eae627c5c1cc5f812e9}{starts\+\_\+with}} (String const \&s, String const \&beginning)
\begin{DoxyCompactList}\small\item\em Tests whether the first string starts with the second string. \end{DoxyCompactList}\item 
{\footnotesize template$<$bool insensitive\+\_\+ascii = false, typename String $>$ }\\bool \mbox{\hyperlink{namespacefz_a33f23cab8b4e6f683f371cf4dfdd0418}{ends\+\_\+with}} (String const \&s, String const \&ending)
\begin{DoxyCompactList}\small\item\em Tests whether the first string ends with the second string. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
String types and assorted functions. 

Defines the \mbox{\hyperlink{namespacefz_a79dcecd35ee9a55ae1a5afe76d23e9e5}{fz\+::native\+\_\+string}} type and offers various functions to convert between different string types. 

\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{string_8hpp_aab9f701c5f70a509b1e4ca0ca3c8509e}\label{string_8hpp_aab9f701c5f70a509b1e4ca0ca3c8509e}} 
\index{string.hpp@{string.hpp}!fzS@{fzS}}
\index{fzS@{fzS}!string.hpp@{string.hpp}}
\subsubsection{\texorpdfstring{fzS}{fzS}}
{\footnotesize\ttfamily \#define fzS(\begin{DoxyParamCaption}\item[{}]{Char,  }\item[{}]{s }\end{DoxyParamCaption})~\mbox{\hyperlink{namespacefz_a1efe94f0443fb3cbd12528b898836883}{fz\+::choose\+\_\+string}}$<$Char$>$(s, L \#\# s)}



Macro to get const pointer to a string of the corresponding type. 

Useful when using string literals in templates where the type of string is a template argument\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{template}<\textcolor{keyword}{typename} String>}
\DoxyCodeLine{String append\_foo(String \textcolor{keyword}{const}\& s) \{}
\DoxyCodeLine{    s += \mbox{\hyperlink{string_8hpp_aab9f701c5f70a509b1e4ca0ca3c8509e}{fzS}}(String::value\_type, \textcolor{stringliteral}{"foo"});}
\DoxyCodeLine{\}}
\end{DoxyCode}
 \mbox{\Hypertarget{string_8hpp_aaa2c9ae59dd9e091905053cb8011aa43}\label{string_8hpp_aaa2c9ae59dd9e091905053cb8011aa43}} 
\index{string.hpp@{string.hpp}!fzT@{fzT}}
\index{fzT@{fzT}!string.hpp@{string.hpp}}
\subsubsection{\texorpdfstring{fzT}{fzT}}
{\footnotesize\ttfamily \#define fzT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~L \#\# x}



Macro for a string literal in system-\/native character type.~\newline
 Note\+: Macro definition changes depending on platform! 

Example\+: {\ttfamily fzT}(\char`\"{}this string is wide on Windows and narrow elsewhere\char`\"{}) \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{list_8cpp-example}{list.\+cpp}}, and \mbox{\hyperlink{process_8cpp-example}{process.\+cpp}}.\end{Desc}