\hypertarget{utility_8hpp}{\section{meowpp/utility.hpp File Reference}
\label{utility_8hpp}\index{meowpp/utility.\-hpp@{meowpp/utility.\-hpp}}
}
{\ttfamily \#include $<$string$>$}\\*
{\ttfamily \#include $<$stack$>$}\\*
{\ttfamily \#include $<$cstdio$>$}\\*
{\ttfamily \#include $<$cstdarg$>$}\\*
{\ttfamily \#include $<$algorithm$>$}\\*
{\ttfamily \#include $<$cstdint$>$}\\*
{\ttfamily \#include $<$cctype$>$}\\*
{\ttfamily \#include $<$cstring$>$}\\*
{\ttfamily \#include $<$cmath$>$}\\*
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
\hyperlink{namespacemeow}{meow}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
std\-::string \hyperlink{namespacemeow_a09946550cc38b132151643d3408b0175}{meow\-::string\-Printf} (char const $\ast$fmt,...)
\begin{DoxyCompactList}\small\item\em 類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳 \end{DoxyCompactList}\item 
std\-::string \hyperlink{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{meow\-::string\-Replace} (std\-::string str, std\-::string const \&from, std\-::string const \&to)
\begin{DoxyCompactList}\small\item\em 將輸入字串中的某個pattern取代成另一個pattern \end{DoxyCompactList}\item 
bool \hyperlink{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{meow\-::cstring\-End\-With} (char const $\ast$str, \hyperlink{classint}{int} n,...)
\begin{DoxyCompactList}\small\item\em 檢查給定字串的結尾是否符合給定的數個patterns中的一個 \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a9fe5a581cb5071e374c0ef6d17c2af3b}{meow\-::debug\-Printf\-\_\-} (char const $\ast$file, char const $\ast$func, \hyperlink{classint32__t}{int32\-\_\-t} line, char const $\ast$msg)
\item 
void \hyperlink{namespacemeow_ae0273ff56bac6a6c7c855b5cad3e564d}{meow\-::message\-Printf} (\hyperlink{classint32__t}{int32\-\_\-t} level\-\_\-change, char const $\ast$fmt,...)
\item 
\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a6b0b0620aa8677397e47d4dcc2f27e46}{meow\-::no\-E\-P\-S} (\hyperlink{classdouble}{double} value, \hyperlink{classdouble}{double} eps)
\item 
\hyperlink{classdouble}{double} \hyperlink{namespacemeow_abfabfec93b0e5bd4412b5831e7bcf4b1}{meow\-::normalize} (\hyperlink{classdouble}{double} lower, \hyperlink{classdouble}{double} upper, \hyperlink{classdouble}{double} value)
\item 
\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a1a4b42ca72036f67fe4dba5806e120b4}{meow\-::denormalize} (\hyperlink{classdouble}{double} lower, \hyperlink{classdouble}{double} upper, \hyperlink{classdouble}{double} ratio)
\item 
\hyperlink{classdouble}{double} \hyperlink{namespacemeow_ab7b319dd4964a378a3d3e28d73f943d0}{meow\-::ratio\-Mapping} (\hyperlink{classdouble}{double} l1, \hyperlink{classdouble}{double} u1, \hyperlink{classdouble}{double} m1, \hyperlink{classdouble}{double} l2, \hyperlink{classdouble}{double} u2)
\item 
bool \hyperlink{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{meow\-::filename\-Compare} (std\-::string const \&f1, std\-::string const \&f2)
\begin{DoxyCompactList}\small\item\em 將兩個字串用人類習慣的檔名排序方式排序 \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{meow\-::in\-Range} (T const \&mn, T const \&mx, T const \&v)
\begin{DoxyCompactList}\small\item\em {\ttfamily std\-::min(mx,std\-::max(mn,v))} \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{meow\-::average} (T const \&beg, T const \&end, \hyperlink{classdouble}{double} sigs)
\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均 \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{meow\-::average} (T const \&beg, T const \&end, T const \&p, \hyperlink{classdouble}{double} sigs)
\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均 \end{DoxyCompactList}\end{DoxyCompactItemize}
