20 #ifndef COIL_STRINGUTIL_H
21 #define COIL_STRINGUTIL_H
28 #if defined(Cygwin) && ( __GNUC__ < 4 )
31 typedef basic_string<wchar_t> wstring;
117 void toLower(std::string& str);
170 bool isEscaped(
const std::string& str, std::string::size_type pos);
204 std::string
escape(
const std::string str);
242 std::string
unescape(
const std::string str);
374 unsigned int replaceString(std::string& str,
const std::string from,
375 const std::string to);
400 vstring
split(
const std::string& input,
401 const std::string& delimiter,
402 bool ignore_empty =
false);
432 bool toBool(std::string str, std::string yes, std::string no,
433 bool default_value =
true);
457 bool includes(
const vstring& list, std::string value,
458 bool ignore_case =
true);
483 bool includes(
const std::string& list, std::string value,
484 bool ignore_case =
true);
542 bool isURL(
const std::string& str);
565 template <
class Pr
intable>
568 std::stringstream str_stream;
570 return str_stream.str();
596 template <
typename To>
599 if (str == 0) {
return false; }
602 if ((s << str).fail()) {
return false; }
603 if ((s >> val).fail()) {
return false; }
631 bool stringTo<std::string>(std::string& val,
const char* str);
681 std::string
flatten(vstring sv);
706 char**
toArgv(
const vstring& args);
730 std::string
sprintf(
char const * __restrict fmt, ...);
733 #endif // COIL_STRINGUTIL_H
std::string normalize(std::string &str)
文字列を正規化する
void toUpper(std::string &str)
大文字への変換
std::string otos(Printable n)
与えられたオブジェクトをstd::stringに変換
Definition: stringutil.h:566
bool stringTo(To &val, const char *str)
与えられたstd::stringをオブジェクトに変換
Definition: stringutil.h:597
void eraseBlank(std::string &str)
文字列の空白文字を削除する
void eraseHeadBlank(std::string &str)
文字列の先頭の空白文字を削除する
bool includes(const vstring &list, std::string value, bool ignore_case=true)
文字列リスト中にある文字列が含まれるかどうかを判断する ...
vstring unique_sv(vstring sv)
与えられた文字列リストから重複を削除
void eraseBothEndsBlank(std::string &str)
文字列の先頭・末尾の空白文字を削除する
bool isAbsolutePath(const std::string &str)
与えられた文字列が絶対パスかどうかを判断する
std::vector< std::string > vstring
Definition: stringutil.h:37
char ** toArgv(const vstring &args)
与えられた文字列リストを引数リストに変換
void eraseTailBlank(std::string &str)
文字列の末尾の空白文字を削除する
std::string flatten(vstring sv)
与えられた文字列リストからCSVを生成
bool toBool(std::string str, std::string yes, std::string no, bool default_value=true)
与えられた文字列をbool値に変換する
bool isURL(const std::string &str)
与えられた文字列がURLかどうかを判断する
unsigned int replaceString(std::string &str, const std::string from, const std::string to)
文字列を置き換える
void toLower(std::string &str)
小文字への変換
std::string wstring2string(std::wstring wstr)
wstring から string への変換
int getlinePortable(std::istream &istr, std::string &line)
入力ストリームから1行読み込む
std::string sprintf(char const *__restrict fmt,...)
指定された書式に変換
std::wstring string2wstring(std::string str)
string から wstring への変換
bool isEscaped(const std::string &str, std::string::size_type pos)
文字列がエスケープされているか判断する
std::string unescape(const std::string str)
文字列のエスケープを戻す
std::string escape(const std::string str)
文字列をエスケープする
vstring split(const std::string &input, const std::string &delimiter, bool ignore_empty=false)
文字列を分割文字で分割する
Common Object Interface Layer.
Definition: Allocator.h:27