\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}