20 #ifndef COIL_STRINGUTIL_H 21 #define COIL_STRINGUTIL_H 31 #if defined (_MSC_VER) && (_MSC_VER <=1500) // VC2008(VC9.0) or before 36 #if defined(Cygwin) && ( __GNUC__ < 4 ) 39 typedef basic_string<wchar_t> wstring;
46 typedef std::map<std::string, std::string>
mapstring;
106 void toUpper(std::string& str);
125 void toLower(std::string& str);
178 bool isEscaped(
const std::string& str, std::string::size_type pos);
212 std::string
escape(
const std::string str);
250 std::string
unescape(
const std::string str);
382 unsigned int replaceString(std::string& str,
const std::string from,
383 const std::string to);
408 vstring
split(
const std::string& input,
409 const std::string& delimiter,
410 bool ignore_empty =
false);
440 bool toBool(std::string str, std::string yes, std::string no,
441 bool default_value =
true);
465 bool includes(
const vstring& list, std::string value,
466 bool ignore_case =
true);
491 bool includes(
const std::string& list, std::string value,
492 bool ignore_case =
true);
550 bool isURL(
const std::string& str);
551 bool isIPv4(
const std::string& str);
552 bool isIPv6(
const std::string& str);
601 template <
class Pr
intable>
604 std::stringstream str_stream;
606 return str_stream.str();
632 template <
typename To>
635 if (str == 0) {
return false; }
638 if ((s << str).fail()) {
return false; }
639 if ((s >> val).fail()) {
return false; }
667 bool stringTo<std::string>(std::string& val,
const char* str);
720 std::stringstream ss;
721 ss << std::hex << std::showbase;
722 ss << reinterpret_cast<uintptr_t>(n);
754 if ((s << std::hex << str).fail()) {
return false; }
756 if ((s >> intval).fail()) {
return false; }
757 ptr =
reinterpret_cast<T*
>(intval);
758 if (ptr == NULL) {
return false; }
811 std::string
flatten(vstring sv, std::string delimiter =
", ");
836 char**
toArgv(
const vstring& args);
860 std::string
sprintf(
char const * __restrict fmt, ...);
887 #endif // COIL_STRINGUTIL_H std::string normalize(std::string &str)
Erase the head/tail blank and replace upper case to lower case.
void toUpper(std::string &str)
Uppercase String Transformation.
std::string otos(Printable n)
Convert the given object to std::string.
Definition: stringutil.h:602
bool stringTo(To &val, const char *str)
Convert the given std::string to object.
Definition: stringutil.h:633
void eraseBlank(std::string &str)
Erase blank characters of string.
void eraseHeadBlank(std::string &str)
Erase the head blank characters of string.
std::string flatten(vstring sv, std::string delimiter=", ")
Create CSV file from the given string list.
bool isIPv4(const std::string &str)
vstring unique_sv(vstring sv)
Eliminate duplication from the given string list.
void eraseBothEndsBlank(std::string &str)
Erase the head blank and the tail blank characters of string.
bool isAbsolutePath(const std::string &str)
Investigate whether the given string is absolute path or not.
std::vector< std::string > vstring
Definition: stringutil.h:45
char ** toArgv(const vstring &args)
Convert the given string list into the argument list.
void eraseTailBlank(std::string &str)
Erase the tail blank characters of string.
bool toBool(std::string str, std::string yes, std::string no, bool default_value=true)
Convert given string into bool value.
bool isURL(const std::string &str)
Investigate whether the given string is URL or not.
unsigned int replaceString(std::string &str, const std::string from, const std::string to)
Replace string.
bool stringTo< bool >(bool &val, const char *str)
Eliminate duplication from the given string list.
std::map< std::string, std::string > mapstring
Definition: stringutil.h:46
std::string ptrToHex(T *n)
Converting a pointer to hexadecimal string.
Definition: stringutil.h:718
bool includes(const std::string &list, std::string value, bool ignore_case=true)
Include if a string is included in string list.
void toLower(std::string &str)
Lowercase String Transformation.
coil::mapstring urlparam2map(const std::string &str)
Investigate whether the given string is URL or not.
std::string wstring2string(std::wstring wstr)
wstring to string conversion
int getlinePortable(std::istream &istr, std::string &line)
Read a line from input stream.
std::string sprintf(char const *__restrict fmt,...)
Convert it into a format given with an argumen.
std::wstring string2wstring(std::string str)
string to wstring conversion
bool isEscaped(const std::string &str, std::string::size_type pos)
Check whether the character is escaped or not.
bool hexToPtr(T *&ptr, const std::string str)
Converting hexadecimal string to a pointer.
Definition: stringutil.h:751
std::string unescape(const std::string str)
Unescape string.
std::string replaceEnv(std::string str)
std::string escape(const std::string str)
Escape string.
bool isIPv6(const std::string &str)
vstring split(const std::string &input, const std::string &delimiter, bool ignore_empty=false)
Split string by delimiter.
Common Object Interface Layer.
Definition: Affinity.h:28