Common string utilities. More...
Functions | |
int | replace (std::string &ss, const std::string &from, const std::string &to) |
int | replace (std::wstring &ss, const std::wstring &from, const std::wstring &to) |
void | tokenize (const std::string &ss, std::vector< std::string > &tokens, const std::string &delims) |
void | tokenize (const std::wstring &ss, std::vector< std::wstring > &tokens, const std::wstring &delims) |
std::string | join (const std::vector< std::string > &tokens, const std::string &delims) |
std::wstring | join (const std::vector< std::wstring > &tokens, const std::wstring &delims) |
std::string | join (const std::list< std::string > &tokens, const std::string &delims) |
std::wstring | join (const std::list< std::wstring > &tokens, const std::wstring &delims) |
void | tokenizeWithSkip (const std::string &ss, std::vector< std::string > &tokens, const std::string &delim=" ") |
void | tokenizeWithSkip (const std::wstring &ss, std::vector< std::wstring > &tokens, const std::wstring &delim=L" ") |
void | tokenizeOnChar (const std::string &ss, std::vector< std::string > &tokens, const std::string &delims) |
void | tokenizeOnChar (const std::wstring &ss, std::vector< std::wstring > &tokens, const std::wstring &delims) |
void | ltrim (std::string &ss, const std::string &whitespaces=" \t") |
void | ltrim (std::wstring &ss, const std::wstring &whitespaces=L" \t") |
void | rtrim (std::string &ss, const std::string &whitespaces=" \t") |
void | rtrim (std::wstring &ss, const std::wstring &whitespaces=L" \t") |
void | lrtrim (std::string &ss, const std::string &whitespaces=" \t") |
void | lrtrim (std::wstring &ss, const std::wstring &whitespaces=L" \t") |
void | lrtrimcrlf (std::string &ss, const std::string &whitespaces=" \r\n\t") |
void | lrtrimcrlf (std::wstring &ss, const std::wstring &whitespaces=L" \r\n\t") |
void | uppercase (std::string &ss) |
void | uppercase (std::wstring &ss) |
void | lowercase (std::string &ss) |
void | lowercase (std::wstring &ss) |
bool | comparei (const std::string &ss1, const std::string &ss2) |
bool | comparei (const std::wstring &ss1, const std::wstring &ss2) |
long | stringToLong (const std::string &ss, long default_on_error=0, int base=10) |
long | stringToLong (const std::wstring &ss, long default_on_error=0, int base=10) |
long | stringToLong (const char *psz, long default_on_error=0, int base=10) |
long | stringToLong (const wchar_t *psz, long default_on_error=0, int base=10) |
std::wstring | mb2wc (const std::string &from) |
std::wstring | mb2wc (const char *from) |
std::wstring | mb2wc (const char *from, unsigned int len) |
std::wstring | utf82wc (const std::string &from) |
std::wstring | utf82wc (const char *from) |
std::wstring | utf82wc (const char *from, unsigned int len) |
std::string | wc2mb (const std::wstring &from) |
std::string | wc2mb (const wchar_t *from) |
std::string | wc2mb (const wchar_t *from, unsigned int len) |
std::string | wc2utf8 (const std::wstring &from) |
std::string | wc2utf8 (const wchar_t *from) |
std::string | wc2utf8 (const wchar_t *from, unsigned int len) |
std::string | bstr2mb (BSTR from) |
std::string | bstr2mb (BSTR from, int len) |
std::string | bstr2mb (const _bstr_t &from) |
std::string | bstr2mb (const CComBSTR &from) |
std::string | toString (VARIANT from) |
std::string | toString (const _variant_t &from) |
std::string | toString (const CComVariant &from) |
std::wstring | toWString (VARIANT from) |
std::wstring | toWString (const _variant_t &from) |
std::wstring | toWString (const CComVariant &from) |
void | s2ebcdic (std::string &ss) |
void | s2ebcdic (unsigned char *s, unsigned long len) |
void | ebcdic2s (std::string &ss) |
void | ebcdic2s (unsigned char *s, unsigned long len) |
bool | startsWith (const std::string &ss, const std::string &what) |
bool | startsWith (const std::wstring &ss, const std::wstring &what) |
bool | endsWith (const std::string &ss, const std::string &what) |
bool | endsWith (const std::wstring &ss, const std::wstring &what) |
template<class T > | |
std::wstring | toWString (const T &t) |
Convert any streamable data into a UNICODE string. | |
template<class T > | |
std::string | toString (const T &t) |
Convert any streamable data into an ANSI string. |
Common string utilities.
std::string AppSecInc::StringUtils::bstr2mb | ( | BSTR | from | ) |
This converts a BSTR to a Multi-byte (ASCII) string.
from | Input. The BSTR to convert. |
std::string AppSecInc::StringUtils::bstr2mb | ( | BSTR | from, |
int | len | ||
) |
std::string AppSecInc::StringUtils::bstr2mb | ( | const _bstr_t & | from | ) |
std::string AppSecInc::StringUtils::bstr2mb | ( | const CComBSTR & | from | ) |
bool AppSecInc::StringUtils::comparei | ( | const std::string & | ss1, |
const std::string & | ss2 | ||
) |
Case-insensitive string compare.
ss1 | Input. 1st String. |
ss2 | Input. 2nd String. |
bool AppSecInc::StringUtils::comparei | ( | const std::wstring & | ss1, |
const std::wstring & | ss2 | ||
) |
void AppSecInc::StringUtils::ebcdic2s | ( | std::string & | ss | ) |
This converts an EBCDIC string to an ASCII string in-place. EBCDIC = Extended Binary Coded Decimal Interchange Code. IBM's 8-bit extension of the 4-bit Binary Coded Decimal encoding of digits 0-9 (0000-1001).
ss | Input/Output. The EBDDIC string to convert. |
void AppSecInc::StringUtils::ebcdic2s | ( | unsigned char * | s, |
unsigned long | len | ||
) |
bool AppSecInc::StringUtils::endsWith | ( | const std::string & | ss, |
const std::string & | what | ||
) |
Returns true if a string ends with (case-sensitive) another string.
ss | Input. The input string. |
what | Input. The candidate string. |
bool AppSecInc::StringUtils::endsWith | ( | const std::wstring & | ss, |
const std::wstring & | what | ||
) |
std::wstring AppSecInc::StringUtils::join | ( | const std::list< std::wstring > & | tokens, |
const std::wstring & | delims | ||
) |
std::string AppSecInc::StringUtils::join | ( | const std::vector< std::string > & | tokens, |
const std::string & | delims | ||
) |
Join a given vector using a multi-byte delimiter.
tokens | Input. The tokens to join. |
delims | Input. The String to use as delimiter. |
std::wstring AppSecInc::StringUtils::join | ( | const std::vector< std::wstring > & | tokens, |
const std::wstring & | delims | ||
) |
std::string AppSecInc::StringUtils::join | ( | const std::list< std::string > & | tokens, |
const std::string & | delims | ||
) |
void AppSecInc::StringUtils::lowercase | ( | std::string & | ss | ) |
This transforms the string to all lowercase.
ss | Input/Output. The string to perform the function on. |
void AppSecInc::StringUtils::lowercase | ( | std::wstring & | ss | ) |
void AppSecInc::StringUtils::lrtrim | ( | std::string & | ss, |
const std::string & | whitespaces = " \t" |
||
) |
This performs an in-place left and right trim.
ss | Input/Output. The string to perform the trim on. |
whitespaces | Input. The whitespace to trim. Defaults to " " and tab characters. |
void AppSecInc::StringUtils::lrtrim | ( | std::wstring & | ss, |
const std::wstring & | whitespaces = L" \t" |
||
) |
void AppSecInc::StringUtils::lrtrimcrlf | ( | std::string & | ss, |
const std::string & | whitespaces = " \r\n\t" |
||
) |
This performs an in-place left and right trim.
ss | Input/Output. The string to perform the trim on. |
whitespaces | Input. The whitespace to trim. Defaults to " ", CRLF and tab characters. |
void AppSecInc::StringUtils::lrtrimcrlf | ( | std::wstring & | ss, |
const std::wstring & | whitespaces = L" \r\n\t" |
||
) |
void AppSecInc::StringUtils::ltrim | ( | std::string & | ss, |
const std::string & | whitespaces = " \t" |
||
) |
This performs an in-place left trim.
ss | Input/Output. The string to perform the trim on. |
whitespaces | Input. The whitespace to trim. Defaults to " " and tab characters. |
void AppSecInc::StringUtils::ltrim | ( | std::wstring & | ss, |
const std::wstring & | whitespaces = L" \t" |
||
) |
std::wstring AppSecInc::StringUtils::mb2wc | ( | const char * | from | ) |
std::wstring AppSecInc::StringUtils::mb2wc | ( | const char * | from, |
unsigned int | len | ||
) |
std::wstring AppSecInc::StringUtils::mb2wc | ( | const std::string & | from | ) |
This converts a Multi-byte (ASCII) string to a Wide-character (Unicode) set string.
from | Input. The Multi-byte string to convert. |
int AppSecInc::StringUtils::replace | ( | std::string & | ss, |
const std::string & | from, | ||
const std::string & | to | ||
) |
Performs a string replace on every instance.
ss | Input/Output. The string to perform the substring replace. |
from | Input. The substring to find. |
to | Input. The substring to replace. |
int AppSecInc::StringUtils::replace | ( | std::wstring & | ss, |
const std::wstring & | from, | ||
const std::wstring & | to | ||
) |
void AppSecInc::StringUtils::rtrim | ( | std::wstring & | ss, |
const std::wstring & | whitespaces = L" \t" |
||
) |
void AppSecInc::StringUtils::rtrim | ( | std::string & | ss, |
const std::string & | whitespaces = " \t" |
||
) |
This performs an in-place right trim.
ss | Input/Output. The string to perform the trim on. |
whitespaces | Input. The whitespace to trim. Defaults to " " and tab characters. |
void AppSecInc::StringUtils::s2ebcdic | ( | std::string & | ss | ) |
This converts an ASCII string to an EBCDIC string. EBCDIC = Extended Binary Coded Decimal Interchange Code. IBM's 8-bit extension of the 4-bit Binary Coded Decimal encoding of digits 0-9 (0000-1001).
ss | Input/Output. The ASCII string to convert. |
void AppSecInc::StringUtils::s2ebcdic | ( | unsigned char * | s, |
unsigned long | len | ||
) |
bool AppSecInc::StringUtils::startsWith | ( | const std::wstring & | ss, |
const std::wstring & | what | ||
) |
bool AppSecInc::StringUtils::startsWith | ( | const std::string & | ss, |
const std::string & | what | ||
) |
Returns true if a string starts with (case-sensitive) another string.
ss | Input. The input string. |
what | Input. The candidate string. |
long AppSecInc::StringUtils::stringToLong | ( | const wchar_t * | psz, |
long | default_on_error = 0 , |
||
int | base = 10 |
||
) |
long AppSecInc::StringUtils::stringToLong | ( | const std::string & | ss, |
long | default_on_error = 0 , |
||
int | base = 10 |
||
) |
Checks if each char in ss is a number, then returns the integer value. If ss is not a number, returns default_on_error.
ss | Input. String to be converted to integer. |
default_on_error | Input. Default value to return on error. |
base | Same as base parameter in strtol. |
long AppSecInc::StringUtils::stringToLong | ( | const char * | psz, |
long | default_on_error = 0 , |
||
int | base = 10 |
||
) |
long AppSecInc::StringUtils::stringToLong | ( | const std::wstring & | ss, |
long | default_on_error = 0 , |
||
int | base = 10 |
||
) |
void AppSecInc::StringUtils::tokenize | ( | const std::wstring & | ss, |
std::vector< std::wstring > & | tokens, | ||
const std::wstring & | delims | ||
) |
void AppSecInc::StringUtils::tokenize | ( | const std::string & | ss, |
std::vector< std::string > & | tokens, | ||
const std::string & | delims | ||
) |
Tokenizes a given string using a multi-byte delimiter. Multi-byte delimiter can be any length that will be discarded and not included with the tokens.
ss | Input. The string to parse for tokens. |
delims | Input. The String to use as delimiter. |
tokens | Input/Output. The resulting tokens will be placed into a vector. |
void AppSecInc::StringUtils::tokenizeOnChar | ( | const std::string & | ss, |
std::vector< std::string > & | tokens, | ||
const std::string & | delims | ||
) |
Tokenizes a given string using a delimiter. that will be discarded and not included with the tokens.
ss | Input. The string to parse for tokens. |
delims | Input. String of chars to be used as delimiters. |
tokens | Input/Output. The resulting tokens will be placed into a vector. |
void AppSecInc::StringUtils::tokenizeOnChar | ( | const std::wstring & | ss, |
std::vector< std::wstring > & | tokens, | ||
const std::wstring & | delims | ||
) |
void AppSecInc::StringUtils::tokenizeWithSkip | ( | const std::string & | ss, |
std::vector< std::string > & | tokens, | ||
const std::string & | delim = " " |
||
) |
Tokenizes a given string using a delimiter. that will be discarded and not included with the tokens. Imp: this versoin skips contiguous delimiters. e.g. when tokenizing "X;;Y" using ";" as a delimeter, we'll skipp both semi-colons. This gives us two tokens "X" and "Y".
ss | Input. The string to parse for tokens. |
delim | Input. The String to use as delimiter. |
tokens | Input/Output. The resulting tokens will be placed into a vector. |
void AppSecInc::StringUtils::tokenizeWithSkip | ( | const std::wstring & | ss, |
std::vector< std::wstring > & | tokens, | ||
const std::wstring & | delim = L" " |
||
) |
std::string AppSecInc::StringUtils::toString | ( | const T & | t | ) |
Convert any streamable data into an ANSI string.
std::string AppSecInc::StringUtils::toString | ( | VARIANT | from | ) |
This converts a VARIANT to a Multi-byte (ASCII) string.
from | Input. The VARIANT to convert. |
std::string AppSecInc::StringUtils::toString | ( | const CComVariant & | from | ) |
std::string AppSecInc::StringUtils::toString | ( | const _variant_t & | from | ) |
std::wstring AppSecInc::StringUtils::toWString | ( | const T & | t | ) |
Convert any streamable data into a UNICODE string.
std::wstring AppSecInc::StringUtils::toWString | ( | const CComVariant & | from | ) |
std::wstring AppSecInc::StringUtils::toWString | ( | VARIANT | from | ) |
std::wstring AppSecInc::StringUtils::toWString | ( | const _variant_t & | from | ) |
void AppSecInc::StringUtils::uppercase | ( | std::string & | ss | ) |
This transforms the string to all uppercase.
ss | Input/Output. The string to perform the function on. |
void AppSecInc::StringUtils::uppercase | ( | std::wstring & | ss | ) |
std::wstring AppSecInc::StringUtils::utf82wc | ( | const char * | from | ) |
std::wstring AppSecInc::StringUtils::utf82wc | ( | const char * | from, |
unsigned int | len | ||
) |
std::wstring AppSecInc::StringUtils::utf82wc | ( | const std::string & | from | ) |
This converts a UTF8 string to a Wide-character (Unicode) set string.
from | Input. The UTF8 string to convert. |
std::string AppSecInc::StringUtils::wc2mb | ( | const wchar_t * | from, |
unsigned int | len | ||
) |
std::string AppSecInc::StringUtils::wc2mb | ( | const wchar_t * | from | ) |
std::string AppSecInc::StringUtils::wc2mb | ( | const std::wstring & | from | ) |
This converts a Wide-character (Unicode) string to a Multi-byte (ASCII) string.
from | Input. The wide-char string to convert. |
std::string AppSecInc::StringUtils::wc2utf8 | ( | const std::wstring & | from | ) |
This converts a Wide-character (Unicode) string to a UTF8 string.
from | Input. The wide-char string to convert. |
std::string AppSecInc::StringUtils::wc2utf8 | ( | const wchar_t * | from, |
unsigned int | len | ||
) |
std::string AppSecInc::StringUtils::wc2utf8 | ( | const wchar_t * | from | ) |
© Application Security Inc. - All Rights Reserved | http://msiext.codeplex.com |