\hypertarget{icu_8h}{}\doxysection{kblib/icu.h File Reference}
\label{icu_8h}\index{kblib/icu.h@{kblib/icu.h}}


Provides some basic interfaces to make using ICU smoother.  


{\ttfamily \#include \char`\"{}tdecl.\+h\char`\"{}}\newline
{\ttfamily \#include $<$ostream$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$typeinfo$>$}\newline
{\ttfamily \#include $<$unicode/unistr.\+h$>$}\newline
Include dependency graph for icu.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{icu_8h__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=266pt]{icu_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \mbox{\hyperlink{namespacekblib}{kblib}}
\begin{DoxyCompactList}\small\item\em The main namespace in which all entities from kblib are defined. \end{DoxyCompactList}\item 
namespace \mbox{\hyperlink{namespacekblib_1_1icu__str__ops}{kblib\+::icu\+\_\+str\+\_\+ops}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename string  = std\+::string$>$ }\\auto \mbox{\hyperlink{namespacekblib_a27540546baa5adb2684d6b01b82d9594}{kblib\+::to\+UTF8}} (const icu\+::\+Unicode\+String \&s) -\/$>$ string
\begin{DoxyCompactList}\small\item\em Convert a Unicode\+String to a UTF-\/8 string. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename string $>$ }\\auto \mbox{\hyperlink{namespacekblib_aa90b416613cc12193d5e239ab10ca8a5}{kblib\+::from\+UTF8}} (string s) -\/$>$ icu\+::\+Unicode\+String
\begin{DoxyCompactList}\small\item\em Convert a UTF-\/8 string into a Unicode\+String. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename string  = std\+::u32string$>$ }\\auto \mbox{\hyperlink{namespacekblib_a1308a2a6edc5a4ed26a7c5b5dea812d1}{kblib\+::to\+UTF32}} (const icu\+::\+Unicode\+String \&s) -\/$>$ string
\begin{DoxyCompactList}\small\item\em Converts a Unicode\+String to UTF-\/32. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename string $>$ }\\auto \mbox{\hyperlink{namespacekblib_aca43a53354402a1f1352b0da9ac32fee}{kblib\+::from\+UTF32}} (string s) -\/$>$ icu\+::\+Unicode\+String
\begin{DoxyCompactList}\small\item\em Converts a UTF-\/32 string into a Unicode\+String. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{namespacekblib_1_1icu__str__ops_ace81bc910484f6efe549883206d4ddae}{kblib\+::icu\+\_\+str\+\_\+ops\+::operator$<$$<$}} (std\+::ostream \&os, const icu\+::\+Unicode\+String \&str) -\/$>$ std\+::ostream \&
\begin{DoxyCompactList}\small\item\em Provides a transcoding stream insertion operator for Unicode\+Strings. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{namespacekblib_1_1icu__str__ops_a4ff4a1606ef53a0e2004f84954073fcf}{kblib\+::icu\+\_\+str\+\_\+ops\+::operator+}} (std\+::string lhs, const icu\+::\+Unicode\+String \&str) -\/$>$ std\+::string
\begin{DoxyCompactList}\small\item\em Give the strange ICU interface for concatenating UTF-\/8 and Unicode\+Strings a more idiomatic name in the form of operator+. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{namespacekblib_1_1icu__str__ops_a300f61654dd90dbbfe58efb8d6ed414c}{kblib\+::icu\+\_\+str\+\_\+ops\+::operator+}} (icu\+::\+Unicode\+String lhs, const std\+::string \&rhs) -\/$>$ icu\+::\+Unicode\+String
\item 
{\footnotesize template$<$typename T $>$ }\\auto \mbox{\hyperlink{namespacekblib_a8f83f373124cb00091260e5bab6c4b60}{kblib\+::from\+Str}} (const icu\+::\+Unicode\+String \&val, const char $\ast$type=typeid(T).name()) -\/$>$ T
\begin{DoxyCompactList}\small\item\em Reencodes val to UTF-\/8 and then converts it to T using the primary overload. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Provides some basic interfaces to make using ICU smoother. 

\begin{DoxyAuthor}{Author}
killerbee 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
2019-\/2021 
\end{DoxyDate}
\begin{DoxyCopyright}{Copyright}
GNU General Public Licence v3.\+0 
\end{DoxyCopyright}


Definition in file \mbox{\hyperlink{icu_8h_source}{icu.\+h}}.

