fastdo  0.6.8
strings.hpp 文件参考
#include <stdarg.h>
strings.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  winux::Literal< _ChTy >
 
struct  winux::Literal< char >
 
struct  winux::Literal< wchar_t >
 
struct  winux::Literal< char16_t >
 
struct  winux::Literal< char32_t >
 
class  winux::XStringWriter< _ChTy >
 用来使得String能够用operator<<来赋值 更多...
 
class  winux::MultiMatch
 KMP多项匹配/替换 更多...
 
struct  winux::MultiMatch::MatchResult
 
struct  winux::MultiMatch::MatchState
 
class  winux::Locale
 设置locale信息 更多...
 
class  winux::SZInput
 填充based-zero字符串缓冲区包装类 更多...
 
class  winux::Conv
 字符串编码转换 更多...
 
class  winux::ConvTo< _ToString >
 本地编码转到指定编码 更多...
 
class  winux::ConvFrom< _FromString >
 指定编码转到本地编码 更多...
 

命名空间

 winux
 跨平台基础功能库
 

宏定义

#define LITERAL_ITEM_SC(ty, name, pref, content)
 
#define LITERAL_ITEM_S(ty, name, pref, content)   static constexpr ty const *name##Str = pref##content;
 
#define LITERAL_ITEM_LIST(ty, pref)
 
#define SZP   SZInput
 

类型定义

using winux::StringWriter = XStringWriter< tchar >
 
using winux::AnsiStringWriter = XStringWriter< char >
 
using winux::UnicodeStringWriter = XStringWriter< wchar >
 

枚举

enum  winux::StrToXqFlags { winux::stqUnsigned = 1, winux::stqNegative = 2, winux::stqOverflow = 4, winux::stqReadDigit = 8 }
 字符串转换成数字Flags 更多...
 
enum  winux::CollateIdentifierStringFlag : winux::uint {
  winux::wordRaw = 0x00, winux::wordAllUpper = 0x01, winux::wordAllLower = 0x02, winux::wordFirstCharUpper = 0x04,
  winux::nameSmallHump = 0x10
}
 整理标识符串的标记 更多...
 

函数

size_t winux::StrSplitA (AnsiString const &str, AnsiString const &delimList, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 
size_t winux::StrSplitW (UnicodeString const &str, UnicodeString const &delimList, UnicodeStringArray *arr, bool alwaysRetOneElem=false)
 
size_t winux::StrSplit (AnsiString const &str, AnsiString const &delimList, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 字符串分割 更多...
 
size_t winux::StrSplit2A (AnsiString const &str, AnsiString const &delim, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 
size_t winux::StrSplit2W (UnicodeString const &str, UnicodeString const &delim, UnicodeStringArray *arr, bool alwaysRetOneElem=false)
 
size_t winux::StrSplit2 (AnsiString const &str, AnsiString const &delim, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 字符串分割2 更多...
 
AnsiString winux::StrJoinA (AnsiString const &delim, AnsiStringArray const &arr)
 
UnicodeString winux::StrJoinW (UnicodeString const &delim, UnicodeStringArray const &arr)
 
AnsiString winux::StrJoin (AnsiString const &delim, AnsiStringArray const &arr)
 字符串组合连接 更多...
 
AnsiString winux::StrJoinExA (AnsiString const &delim, AnsiStringArray const &arr, size_t start=0, size_t elemCount=-1)
 
UnicodeString winux::StrJoinExW (UnicodeString const &delim, UnicodeStringArray const &arr, size_t start=0, size_t elemCount=-1)
 
AnsiString winux::StrJoinEx (AnsiString const &delim, AnsiStringArray const &arr, size_t start=0, size_t elemCount=-1)
 字符串组合连接。start表示开始位置,elemCount表示自开始位置的元素数,默认-1表示自开始位置的全部元素 更多...
 
AnsiString winux::StrInsertA (AnsiString const &str, size_t start, size_t end, AnsiString const &insert)
 
UnicodeString winux::StrInsertW (UnicodeString const &str, size_t start, size_t end, UnicodeString const &insert)
 
AnsiString winux::StrInsert (AnsiString const &str, size_t start, size_t end, AnsiString const &insert)
 在指定位置插入字符串 更多...
 
AnsiString & winux::StrMakeReplaceA (AnsiString *str, AnsiString const &findText, AnsiString const &replaceText, size_t offset=0)
 
UnicodeString & winux::StrMakeReplaceW (UnicodeString *str, UnicodeString const &findText, UnicodeString const &replaceText, size_t offset=0)
 
AnsiString & winux::StrMakeReplace (AnsiString *str, AnsiString const &findText, AnsiString const &replaceText, size_t offset=0)
 使字符串全文替换 更多...
 
AnsiString winux::StrTrimA (AnsiString const &str)
 
UnicodeString winux::StrTrimW (UnicodeString const &str)
 
AnsiString winux::StrTrim (AnsiString const &str)
 祛除字符串首尾出现的空白字符 更多...
 
AnsiString & winux::StrMakeUpperA (AnsiString *str)
 
UnicodeString & winux::StrMakeUpperW (UnicodeString *str)
 
AnsiString & winux::StrMakeUpper (AnsiString *str)
 使字符串大写 更多...
 
AnsiString winux::StrUpperA (AnsiString str)
 
UnicodeString winux::StrUpperW (UnicodeString str)
 
AnsiString winux::StrUpper (AnsiString str)
 使字符串大写 更多...
 
AnsiString & winux::StrMakeLowerA (AnsiString *str)
 
UnicodeString & winux::StrMakeLowerW (UnicodeString *str)
 
AnsiString & winux::StrMakeLower (AnsiString *str)
 使字符串小写 更多...
 
AnsiString winux::StrLowerA (AnsiString str)
 
UnicodeString winux::StrLowerW (UnicodeString str)
 
AnsiString winux::StrLower (AnsiString str)
 使字符串小写 更多...
 
AnsiString winux::StrMultipleA (AnsiString const &str, int multiple)
 
UnicodeString winux::StrMultipleW (UnicodeString const &str, int multiple)
 
AnsiString winux::StrMultiple (AnsiString const &str, int multiple)
 字符串倍数的出现 更多...
 
AnsiString winux::StrSubtractA (AnsiString str1, AnsiString const &str2)
 
UnicodeString winux::StrSubtractW (UnicodeString str1, UnicodeString const &str2)
 
AnsiString winux::StrSubtract (AnsiString str1, AnsiString const &str2)
 字符串相减,str1 - str2,即去掉str1里与str2相同的部分。限制:str1 >= str2。 更多...
 
uint64 winux::StrToXqA (char const *nptr, char const **endptr, int ibase, int flags)
 
uint64 winux::StrToXqW (wchar const *nptr, wchar const **endptr, int ibase, int flags)
 
uint64 winux::StrToXq (char const *nptr, char const **endptr, int ibase, int flags)
 字符串转换成64位的数字 更多...
 
uint64 winux::StrToXqU16 (char16 const *nptr, char16 const **endptr, int ibase, int flags)
 
uint64 winux::StrToXqU32 (char32 const *nptr, char32 const **endptr, int ibase, int flags)
 
int64 winux::StrToInt64A (AnsiString const &numStr, int ibase)
 
int64 winux::StrToInt64W (UnicodeString const &numStr, int ibase)
 
int64 winux::StrToInt64 (AnsiString const &numStr, int ibase)
 
uint64 winux::StrToUint64A (AnsiString const &numStr, int ibase)
 
uint64 winux::StrToUint64W (UnicodeString const &numStr, int ibase)
 
uint64 winux::StrToUint64 (AnsiString const &numStr, int ibase)
 
AnsiString winux::AddSlashesA (AnsiString const &str, AnsiString const &charlist)
 
UnicodeString winux::AddSlashesW (UnicodeString const &str, UnicodeString const &charlist)
 
AnsiString winux::AddSlashes (AnsiString const &str, AnsiString const &charlist)
 加反斜杠 更多...
 
AnsiString winux::AddCSlashesA (AnsiString const &str)
 
UnicodeString winux::AddCSlashesW (UnicodeString const &str)
 
AnsiString winux::AddCSlashes (AnsiString const &str)
 加C-Style反斜杠 更多...
 
AnsiString winux::StripSlashesA (AnsiString const &str, AnsiString const &charlist)
 
UnicodeString winux::StripSlashesW (UnicodeString const &str, UnicodeString const &charlist)
 
AnsiString winux::StripSlashes (AnsiString const &str, AnsiString const &charlist)
 去掉反斜杠 更多...
 
AnsiString winux::StripCSlashesA (AnsiString const &str)
 
UnicodeString winux::StripCSlashesW (UnicodeString const &str)
 
AnsiString winux::StripCSlashes (AnsiString const &str)
 去掉C-Style反斜杠 更多...
 
AnsiString winux::AddQuotesA (AnsiString const &str, AnsiString::value_type quote=Literal< AnsiString::value_type >::quoteChar)
 
UnicodeString winux::AddQuotesW (UnicodeString const &str, UnicodeString::value_type quote=Literal< UnicodeString::value_type >::quoteChar)
 
AnsiString winux::AddQuotes (AnsiString const &str, AnsiString::value_type quote=Literal< AnsiString::value_type >::quoteChar)
 double引号 更多...
 
bool winux::StrGetLineA (AnsiString *line, AnsiString const &str, size_t *i, AnsiString *nl=nullptr)
 
bool winux::StrGetLineW (UnicodeString *line, UnicodeString const &str, size_t *i, UnicodeString *nl=nullptr)
 
bool winux::StrGetLine (AnsiString *line, AnsiString const &str, size_t *i, AnsiString *nl=nullptr)
 获取字符串中的一行,支持unix,windows,mac平台的行分隔方式
line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。 更多...
 
AnsiString winux::CollateIdentifierToStringA (AnsiString const &identifier, AnsiString const &sep, winux::uint flags=wordFirstCharUpper)
 
UnicodeString winux::CollateIdentifierToStringW (UnicodeString const &identifier, UnicodeString const &sep, winux::uint flags=wordFirstCharUpper)
 
AnsiString winux::CollateIdentifierToString (AnsiString const &identifier, AnsiString const &sep, winux::uint flags=wordFirstCharUpper)
 整理标识符为字符串 更多...
 
AnsiStringArray winux::CollateIdentifierToArrayA (AnsiString const &identifier, winux::uint flags=wordFirstCharUpper)
 
UnicodeStringArray winux::CollateIdentifierToArrayW (UnicodeString const &identifier, winux::uint flags=wordFirstCharUpper)
 
AnsiStringArray winux::CollateIdentifierToArray (AnsiString const &identifier, winux::uint flags=wordFirstCharUpper)
 整理标识符为单词数组 更多...
 
template<typename _IndexType , typename _ChTy >
static std::vector< _IndexType > winux::_Templ_KmpCalcNext (_ChTy const *substr, size_t sublen)
 KMP匹配算法:求子串next值 更多...
 
template<typename _IndexType , typename _ChTy >
static size_t winux::_Templ_KmpMatchEx (_ChTy const *str, size_t len, _ChTy const *substr, size_t sublen, size_t pos, std::vector< _IndexType > const &next)
 KMP匹配算法:传入已经求好的next进行匹配 更多...
 
template<typename _IndexType , typename _ChTy >
static size_t winux::_Templ_KmpMatch (_ChTy const *str, size_t len, _ChTy const *substr, size_t sublen, size_t pos)
 KMP匹配算法:匹配 更多...
 
std::vector< int > winux::KmpCalcNext (char const *substr, size_t sublen)
 KMP字符串匹配算法:求子串next值 更多...
 
size_t winux::KmpMatchEx (char const *str, size_t len, char const *substr, size_t sublen, size_t pos, std::vector< int > const &next)
 KMP字符串匹配算法:传入已经求好的next进行匹配 更多...
 
size_t winux::KmpMatch (char const *str, size_t len, char const *substr, size_t sublen, size_t pos)
 KMP字符串匹配算法:匹配 更多...
 
size_t winux::LocalCharsCount (AnsiString const &local)
 返回一个本地字符串里有多少个实际的字符(by local CodePage),用于mbstowcs 更多...
 
size_t winux::UnicodeMinLength (UnicodeString const &unicode)
 返回一个unicode字符串转换为多字节字符串最少需要多少字节(by local CodePage),用于wcstombs 更多...
 
AnsiString winux::UnicodeToLocal (UnicodeString const &unicode)
 Unicode转换到本地Ansi. 更多...
 
UnicodeString winux::LocalToUnicode (AnsiString const &local)
 本地Ansi转到Unicode 更多...
 
String winux::LocalToString (AnsiString const &local)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
String winux::UnicodeToString (UnicodeString const &unicode)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
AnsiString winux::StringToLocal (String const &str)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
UnicodeString winux::StringToUnicode (String const &str)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
AnsiString winux::FormatExVA (size_t cch, char const *fmt, va_list args)
 
UnicodeString winux::FormatExVW (size_t cch, wchar const *fmt, va_list args)
 
AnsiString winux::FormatExA (size_t cch, char const *fmt,...)
 
UnicodeString winux::FormatExW (size_t cch, wchar const *fmt,...)
 
AnsiString winux::FormatA (char const *fmt,...)
 
UnicodeString winux::FormatW (wchar const *fmt,...)
 
AnsiString winux::FormatExV (size_t cch, char const *fmt, va_list args)
 格式化字符串0 更多...
 
AnsiString winux::FormatEx (size_t cch, char const *fmt,...)
 格式化字符串1 更多...
 
AnsiString winux::Format (char const *fmt,...)
 格式化字符串2 更多...
 
template<typename _CHAR , uint _N>
SZInput winux::SZ (_CHAR(&sz)[_N])
 
AnsiString winux::LocalFromUtf8 (AnsiString const &str)
 从utf-8转到本地编码 更多...
 
AnsiString winux::LocalToUtf8 (AnsiString const &str)
 从本地编码转到utf-8 更多...
 

宏定义说明

#define LITERAL_ITEM_LIST (   ty,
  pref 
)

在文件 strings.hpp19 行定义.

#define LITERAL_ITEM_S (   ty,
  name,
  pref,
  content 
)    static constexpr ty const *name##Str = pref##content;

在文件 strings.hpp16 行定义.

#define LITERAL_ITEM_SC (   ty,
  name,
  pref,
  content 
)
值:
static constexpr ty const *name##Str = pref##content; \
static constexpr ty const name##Char = name##Str[0];

在文件 strings.hpp12 行定义.

#define SZP   SZInput

在文件 strings.hpp750 行定义.