\section{include/sphinxbase/case.h File Reference}
\label{case_8h}\index{include/sphinxbase/case.\+h@{include/sphinxbase/case.\+h}}


Locale-\/independent implementation of case swapping operation.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$sphinxbase/prim\+\_\+type.\+h$>$}\newline
{\ttfamily \#include $<$sphinxbase/sphinxbase\+\_\+export.\+h$>$}\newline
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{case_8h_a3299c549655d5af1fcbc384ee7fd68e3}} 
\#define \textbf{ U\+P\+P\+E\+R\+\_\+\+C\+A\+SE}(c)~((((c) $>$= \textquotesingle{}a\textquotesingle{}) \&\& ((c) $<$= \textquotesingle{}z\textquotesingle{})) ? (c-\/32) \+: c)
\begin{DoxyCompactList}\small\item\em Return upper case form for c. \end{DoxyCompactList}\item 
\mbox{\label{case_8h_a44403ce2c3f4378aca12ffb732f24cef}} 
\#define \textbf{ L\+O\+W\+E\+R\+\_\+\+C\+A\+SE}(c)~((((c) $>$= \textquotesingle{}A\textquotesingle{}) \&\& ((c) $<$= \textquotesingle{}Z\textquotesingle{})) ? (c+32) \+: c)
\begin{DoxyCompactList}\small\item\em Return lower case form for c. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT void \textbf{ ucase} (char $\ast$str)
\begin{DoxyCompactList}\small\item\em Convert str to all upper case. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT void \textbf{ lcase} (char $\ast$str)
\begin{DoxyCompactList}\small\item\em Convert str to all lower case. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT int32 \textbf{ strcmp\+\_\+nocase} (const char $\ast$str1, const char $\ast$str2)
\begin{DoxyCompactList}\small\item\em (F\+I\+X\+M\+E! The implementation is incorrect!) Case insensitive string compare. \end{DoxyCompactList}\item 
\mbox{\label{case_8h_ae7c2a7f29d72b9516a947f5c69a043db}} 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT int32 \textbf{ strncmp\+\_\+nocase} (const char $\ast$str1, const char $\ast$str2, size\+\_\+t len)
\begin{DoxyCompactList}\small\item\em Like \doxyref{strcmp\+\_\+nocase()}{p.}{case_8h_ad276a997bd6709d986aa6e1e4e06c210} but with a maximum length. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Locale-\/independent implementation of case swapping operation. 

This function implements A\+S\+C\+I\+I-\/only case switching and comparison related operations, which do not depend on the locale and are guaranteed to exist on all versions of Windows. 

\subsection{Function Documentation}
\mbox{\label{case_8h_ac0e30dac40f15762f39270f65bd8cdba}} 
\index{case.\+h@{case.\+h}!lcase@{lcase}}
\index{lcase@{lcase}!case.\+h@{case.\+h}}
\subsubsection{lcase()}
{\footnotesize\ttfamily S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT void lcase (\begin{DoxyParamCaption}\item[{char $\ast$}]{str }\end{DoxyParamCaption})}



Convert str to all lower case. 


\begin{DoxyParams}{Parameters}
{\em str} & is a string. \\
\hline
\end{DoxyParams}
\mbox{\label{case_8h_ad276a997bd6709d986aa6e1e4e06c210}} 
\index{case.\+h@{case.\+h}!strcmp\+\_\+nocase@{strcmp\+\_\+nocase}}
\index{strcmp\+\_\+nocase@{strcmp\+\_\+nocase}!case.\+h@{case.\+h}}
\subsubsection{strcmp\+\_\+nocase()}
{\footnotesize\ttfamily S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT int32 strcmp\+\_\+nocase (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str1,  }\item[{const char $\ast$}]{str2 }\end{DoxyParamCaption})}



(F\+I\+X\+M\+E! The implementation is incorrect!) Case insensitive string compare. 

Return the usual -\/1, 0, +1, depending on str1 $<$, =, $>$ str2 (case insensitive, of course). 
\begin{DoxyParams}{Parameters}
{\em str1} & is the first string. \\
\hline
{\em str2} & is the second string. \\
\hline
\end{DoxyParams}


Definition at line 94 of file case.\+c.



References U\+P\+P\+E\+R\+\_\+\+C\+A\+SE.



Referenced by ngram\+\_\+str\+\_\+to\+\_\+type().

\mbox{\label{case_8h_a79d99e36b7c2c36dcc6f7f0df746384e}} 
\index{case.\+h@{case.\+h}!ucase@{ucase}}
\index{ucase@{ucase}!case.\+h@{case.\+h}}
\subsubsection{ucase()}
{\footnotesize\ttfamily S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+RT void ucase (\begin{DoxyParamCaption}\item[{char $\ast$}]{str }\end{DoxyParamCaption})}



Convert str to all upper case. 


\begin{DoxyParams}{Parameters}
{\em str} & is a string. \\
\hline
\end{DoxyParams}
