| 
    fastdo
    0.5.12
    
   | 
 
跨平台基础功能库 更多...
类 | |
| struct | Allocator | 
| 构造分配器  更多... | |
| class | ArrayAssigner | 
| Array赋值器  更多... | |
| struct | Bin0 | 
| 二进制数,编译时计算, 0开头(基于8进制)  更多... | |
| struct | Bin0< 0 > | 
| class | BlockInFile | 
| 分块输入文件  更多... | |
| class | BlockOutFile | 
| 分块输出文件  更多... | |
| class | Buffer | 
| 缓冲区,表示内存中一块2进制数据(利用malloc/realloc进行内存分配)  更多... | |
| class | CommandLine | 
| 命令行参数解析(OldVersion)  更多... | |
| class | CommandLineVars | 
| 命令行变量解析器  更多... | |
| class | Condition | 
| 条件变量  更多... | |
| class | ConditionAttr | 
| 条件变量属性  更多... | |
| class | Configure | 
| 配置文件类  更多... | |
| class | ConsoleAttr | 
| class | ConsoleAttrT | 
| class | ConsoleOuputMutexScopeGuard | 
| class | Conv | 
| 字符串编码转换  更多... | |
| class | ConvFrom | 
| 指定编码转到本地编码  更多... | |
| class | ConvTo | 
| 本地编码转到指定编码  更多... | |
| class | CsvReader | 
| CSV文件读取器  更多... | |
| class | CsvWriter | 
| CSV文件写入器  更多... | |
| class | DateTimeL | 
| 本地日期时间。L意思'local',不包含时区信息  更多... | |
| struct | Deallocator | 
| 析构释放器  更多... | |
| class | DirIterator | 
| 目录文件枚举器  更多... | |
| class | DllLoader | 
| DLL动态载入器  更多... | |
| class | DllLoaderError | 
| Dll加载器错误  更多... | |
| class | Error | 
| 错误类  更多... | |
| class | File | 
| 文件操作类  更多... | |
| class | FileSysError | 
| 文件系统错误类  更多... | |
| struct | FuncWrapper | 
| 函数特征  更多... | |
| class | GrowBuffer | 
| 高效的可增长缓冲区,1.33倍冗余量  更多... | |
| struct | IFile | 
| 文件接口  更多... | |
| class | ILockObj | 
| 同步锁对象接口  更多... | |
| struct | IndexSequence | 
| Tuple参数序列  更多... | |
| struct | MakeIndexSequence | 
| struct | MakeIndexSequence< 0, IndexSequence< _Index... > > | 
| struct | MakeIndexSequence< _Num, IndexSequence< _Index... > > | 
| class | MapAssigner | 
| MAP赋值器  更多... | |
| class | MD5 | 
| class | MembersWrapper | 
| 成员包装  更多... | |
| class | Mixed | 
| 混合体,能表示多种类型的值  更多... | |
| class | MixedError | 
| 混合体错误  更多... | |
| class | MultiMatch | 
| KMP多项匹配/替换  更多... | |
| class | Mutex | 
| 互斥量  更多... | |
| class | MutexAttr | 
| 互斥量属性  更多... | |
| class | MutexLockObj | 
| 互斥锁  更多... | |
| class | OutStringStreamWrapper | 
| 用来使得String能够用operator<<来赋值  更多... | |
| class | RefParam | 
| class | ScopeGuard | 
| 作用域范围保护  更多... | |
| class | SetLocale | 
| 设置locale信息  更多... | |
| class | SharedCustomDeleterContext | 
| Shared自定义删除器场景  更多... | |
| class | SharedDefaultDeleterContext | 
| Shared默认删除器场景  更多... | |
| class | SharedDeleterContext | 
| Shared删除器场景基类  更多... | |
| class | SharedHandle | 
| 引用计数共享句柄,管理各种资源的自动释放  更多... | |
| class | SharedPointer | 
| class | SimpleCustomDeleterContext | 
| Simple自定义删除器场景  更多... | |
| class | SimpleDefaultDeleterContext | 
| Simple默认删除器场景  更多... | |
| class | SimpleDeleterContext | 
| Simple删除器场景基类  更多... | |
| class | SimpleHandle | 
| 简单句柄类,管理各种资源的自动释放,赋值相当于传递管理权。  更多... | |
| class | SimplePointer | 
| 简单指针  更多... | |
| class | SZInput | 
| 填充based-zero字符串缓冲区包装类  更多... | |
| class | Task | 
| 代表投递到线程池的一个任务,用于等待执行完毕获取返回值或者接着投递下一个任务  更多... | |
| struct | TaskCtx | 
| 任务数据场景  更多... | |
| struct | TaskCtxT | 
| struct | TaskCtxT< void > | 
| class | Thread | 
| 线程  更多... | |
| class | ThreadAttr | 
| 线程属性  更多... | |
| class | ThreadGroup | 
| 线程组  更多... | |
| class | ThreadId | 
| 线程ID  更多... | |
| class | ThreadPool | 
| 线程池,创建一组线程等待着从任务队列中获取任务执行  更多... | |
| class | ThreadSysError | 
| 线程相关错误  更多... | |
| class | TlsKey | 
| TLS Key.  更多... | |
| class | TlsVar | 
| TLS Var.  更多... | |
| class | Unzip | 
| ZIP解压缩  更多... | |
| class | WeakHandle | 
| 弱句柄  更多... | |
| class | WeakPointer | 
| 弱指针  更多... | |
| class | Zip | 
| ZIP压缩  更多... | |
类型定义 | |
| typedef winux::ulong | ZRESULT | 
| typedef int | HPipe | 
| typedef pid_t | HProcess | 
| typedef int | int32 | 
| typedef unsigned int | uint | 
| typedef unsigned int | uint32 | 
| typedef unsigned long | ulong | 
| typedef short | int16 | 
| typedef unsigned short | ushort | 
| typedef unsigned short | uint16 | 
| typedef char | int8 | 
| typedef unsigned char | uint8 | 
| typedef char16_t | char16 | 
| typedef char32_t | char32 | 
| typedef wchar_t | wchar | 
| typedef unsigned long long | uint64 | 
| typedef unsigned long long | ulonglong | 
| typedef long long | int64 | 
| typedef long long | longlong | 
| typedef char | tchar | 
| typedef unsigned char | byte | 
| typedef std::basic_string< tchar > | String | 
| typedef std::basic_string< char > | AnsiString | 
| typedef AnsiString | LocalString | 
| typedef std::basic_string< wchar > | UnicodeString | 
| typedef std::basic_string< char16 > | UnicodeString16 | 
| typedef std::basic_string< char32 > | UnicodeString32 | 
| typedef std::vector< String > | StringArray | 
| typedef std::map< String, String > | StringStringMap | 
| typedef std::pair< String, String > | StringStringPair | 
| typedef std::vector< Mixed > | MixedArray | 
| typedef std::map< String, Mixed > | StringMixedMap | 
| typedef std::pair< String, Mixed > | StringMixedPair | 
枚举 | |
| enum | ConsoleColorAttrFlags : winux::ushort {  fgBlack = 0, fgNavy = 1, fgAtrovirens = 2, fgTeal = 3, fgMaroon = 4, fgPurple = 5, fgOlive = 6, fgSilver = 7, fgGray = 8, fgIntensity = fgGray, fgBlue = 9, fgGreen = 10, fgAqua = 11, fgRed = 12, fgFuchsia = 13, fgYellow = 14, fgWhite = 15, bgNavy = 0x0100, bgAtrovirens = 0x0200, bgTeal = 0x0300, bgMaroon = 0x0400, bgPurple = 0x0500, bgOlive = 0x0600, bgSilver = 0x0700, bgBlack = 0x0800, bgWhite = 0x0000, bgGray = bgSilver, bgBlue = bgNavy, bgGreen = bgAtrovirens, bgAqua = bgTeal, bgRed = bgMaroon, bgFuchsia = bgPurple, bgYellow = bgOlive }  | 
| 颜色属性标记  更多... | |
| enum | EncryptErrorCode { ERR_SUCCEED, ERR_DATASIZE, ERR_BUFFSIZE } | 
| 内容加密错误代码  更多... | |
函数 | |
| template<typename _VarType > | |
| std::ostream & | operator<< (std::ostream &o, ConsoleAttrT< _VarType > const &tr) | 
| template<typename _VarType > | |
| std::istream & | operator>> (std::istream &in, ConsoleAttrT< _VarType > const &tr) | 
| template<typename _VarType > | |
| ConsoleAttrT< _VarType > | ConsoleColor (winux::ushort attr, _VarType const &v, bool isSetBgColor=false) | 
| static void | OutputV () | 
| template<typename _Ty , typename... _ArgType> | |
| static void | OutputV (_Ty &&a, _ArgType &&...arg) | 
| template<typename... _ArgType> | |
| static void | ColorOutput (winux::ConsoleAttr const &ca, _ArgType &&...arg) | 
| String | UrlEncode (String const &str) | 
| URL编码  更多... | |
| String | UrlDecode (String const &str) | 
| URL解码,与UrlEncode()配套  更多... | |
| String | UriComponentEncode (String const &str) | 
| URI组成部分编码,遵循RFC1738.  更多... | |
| String | UriComponentDecode (String const &str) | 
| URI组成部分解码,与UriComponentEncode()配套  更多... | |
| String | HtmlEncode (String const &str) | 
| HTML编码 作用字符:'&', '<', '>', ' '.  更多... | |
| String | HtmlDecode (String const &str) | 
| HTML解码,与HtmlEncode()配套  更多... | |
| String | Base64Encode (void const *buf, int size) | 
| Base64编码  更多... | |
| String | Base64Encode (AnsiString const &data) | 
| Base64编码  更多... | |
| String | Base64Encode (Buffer const &buf) | 
| Base64编码  更多... | |
| AnsiString | Base64Decode (String const &base64Str) | 
| Base64解码,与Base64Encode()配套  更多... | |
| String | Md5Hex (void const *buf, size_t size) | 
| 将数据进行md5编码,返回16进制数字符串  更多... | |
| String | Md5Hex (Buffer const &buf) | 
| 将数据进行md5编码,返回16进制数字符串  更多... | |
| String | Sha1Hex (void const *buf, size_t size) | 
| 将数据进行sha1编码,返回16进制数字符串  更多... | |
| String | Sha1Hex (Buffer const &buf) | 
| 将数据进行sha1编码,返回16进制数字符串  更多... | |
| Buffer | Sha1 (void const *buf, size_t size) | 
| 将数据进行sha1编码,返回二进制数据  更多... | |
| Buffer | Sha1 (Buffer const &buf) | 
| 将数据进行sha1编码,返回二进制数据  更多... | |
| int | RawEncrypt (unsigned char const *data, int data_size, unsigned char *buf, int buf_size, int *out_size) | 
| 未进行C++包装的内容加密  更多... | |
| int | RawDecrypt (unsigned char const *encrypt_data, int data_size, unsigned char *buf, int buf_size, int *out_size) | 
| 未进行C++包装的内容解密,与RawEncrypt()配套  更多... | |
| AnsiString | EncryptContent (AnsiString const &content) | 
| 内容加密  更多... | |
| AnsiString | DecryptContent (AnsiString const &encryptContent) | 
| 内容解密,与EncryptContent()配套  更多... | |
| String | GetExecutablePath (void) | 
| 获取可执行文件的全路径  更多... | |
| String | FilePath (String const &fullPath, String *fileName=NULL) | 
| 获取路径名(末尾不含目录分隔符)  更多... | |
| String | FileTitle (String const &fileName, String *extName=NULL) | 
| 获取文件标题  更多... | |
| bool | IsAbsPath (String const &path) | 
| 判断是否为绝对路径  更多... | |
| String | NormalizePath (String const &path) | 
| 使路径规则化(末尾不带路径分割符)  更多... | |
| String | RealPath (String const &path) | 
| 计算真实路径  更多... | |
| String | GetCurrentDir (void) | 
| 返回当前工作目录(末尾不含目录分隔符)  更多... | |
| bool | SetCurrentDir (String const &path) | 
| 设置当前工作目录  更多... | |
| bool | IsDir (String const &path) | 
| 判断是否是一个目录  更多... | |
| bool | DetectPath (String const &path, bool *isDir=NULL) | 
| 探测一个路径是存在还是不存在,是目录还是文件  更多... | |
| ulong | FileSize (String const &filename) | 
| 获取文件大小  更多... | |
| uint64 | FileSize64 (String const &filename) | 
| 获取文件大小(大于4GB的文件)  更多... | |
| bool | FileTime (String const &filename, ulong *ctime, ulong *mtime, ulong *atime) | 
| 获取文件时间  更多... | |
| ulong | FileCTime (String const &filename) | 
| 获取文件创建时间  更多... | |
| ulong | FileMTime (String const &filename) | 
| 获取文件修改时间  更多... | |
| ulong | FileATime (String const &filename) | 
| 获取文件访问时间  更多... | |
| bool | FileTouch (String const &filename, ulong time=(ulong)-1, ulong atime=(ulong)-1) | 
| 更新文件修改时间,访问时间  更多... | |
| String | PathWithSep (String const &path) | 
| 路径分隔符整理  更多... | |
| String | PathNoSep (String const &path) | 
| String & | PathWithSep (String *path) | 
| String & | PathNoSep (String *path) | 
| String | CombinePath (String const &dirPath, String const &fileName) | 
| 把一个目录路径和一个文件名组合成一个新路径  更多... | |
| void | FolderData (String const &path, StringArray *fileArr, StringArray *subFolderArr, int sortType=0) | 
| 获取文件夹中的文件和子文件夹,sortType:0结果不排序 1正序 2反序  更多... | |
| ulong | EnumFiles (String const &path, Mixed const &ext, StringArray *arrFiles, bool isRecursive=false) | 
| 在指定路径下枚举指定扩展名的文件  更多... | |
| ulong | CommonDelete (String const &path) | 
| 通用删除,删除文件夹和文件,返回删除的文件夹和文件数  更多... | |
| bool | MakeDirExists (String const &path, int mode=0755) | 
| 确保目录路径的存在性,如果不存在则创建。  更多... | |
| AnsiString | FileGetContents (String const &filename, bool textMode=true) | 
| 载入文件内容为一个AnsiString,textMode表示是否为文本模式  更多... | |
| Buffer | FileGetContentsEx (String const &filename, bool textMode) | 
| 载入文件内容为一个Buffer,textMode表示是否为文本模式  更多... | |
| bool | FilePutContents (String const &filename, AnsiString const &content, bool textMode=true) | 
| 把AnsiString内容写入文件,textMode表示是否为文本模式  更多... | |
| bool | FilePutContentsEx (String const &filename, Buffer const &content, bool textMode) | 
| 把Buffer内容写入文件,textMode表示是否为文本模式  更多... | |
| void | WriteLog (String const &s) | 
| 日志  更多... | |
| void | WriteBinLog (void const *data, int size) | 
| 二进制日志  更多... | |
| bool | JsonParse (String const &json, Mixed *val) | 
| Json解析成Mixed.  更多... | |
| AnsiString | MixedToJsonA (Mixed const &v, bool autoKeyQuotes) | 
| Mixed输出成Json.  更多... | |
| UnicodeString | MixedToJsonW (Mixed const &v, bool autoKeyQuotes) | 
| long | LongAtomicIncrement (long volatile *p) | 
| 原子化使一个Long型变量+1,返回值是+1后的*p值  更多... | |
| long | LongAtomicDecrement (long volatile *p) | 
| 原子化使一个Long型变量-1,返回值是-1后的*p值  更多... | |
| long | LongAtomicCompareExchange (long volatile *p, long exchange, long comparand) | 
| 原子化操作,*p若和comparand相等,就把*p赋成exchange,返回值是初始的*p值  更多... | |
| template<typename _Ty > | |
| SimplePointer< _Ty > | MakeSimple (_Ty *newObj) | 
| template<typename _Ty , typename _Dt > | |
| SimplePointer< _Ty > | MakeSimple (_Ty *newObj, _Dt dt) | 
| template<typename _Ty > | |
| SharedPointer< _Ty > | MakeShared (_Ty *newObj) | 
| template<typename _Ty , typename _Dt > | |
| SharedPointer< _Ty > | MakeShared (_Ty *newObj, _Dt dt) | 
| int | StrSplit (String const &str, String const &delimList, StringArray *arr, bool alwaysRetOneElem=false) | 
| 字符串分割  更多... | |
| int | StrSplit2 (String const &str, String const &delim, StringArray *arr, bool alwaysRetOneElem=false) | 
| 字符串分割2  更多... | |
| String | StrJoin (String const &delim, StringArray const &arr) | 
| 字符串组合连接  更多... | |
| String | StrInsert (String const &str, int start, int end, String const &insert) | 
| 在指定位置插入字符串  更多... | |
| String & | StrMakeReplace (String *str, String const &findText, String const &replaceText, String::size_type offset=0) | 
| 使字符串全文替换  更多... | |
| String | StrTrim (String const &str) | 
| 祛除字符串首尾出现的空白字符  更多... | |
| String & | StrMakeUpper (String *str) | 
| 使字符串大写  更多... | |
| String | StrUpper (String const &str) | 
| String & | StrMakeLower (String *str) | 
| 使字符串小写  更多... | |
| String | StrLower (String const &str) | 
| AnsiString | AddSlashesA (AnsiString const &str, AnsiString const &charlist) | 
| 反斜杠操作  更多... | |
| AnsiString | AddCSlashesA (AnsiString const &str) | 
| UnicodeString | AddSlashesW (UnicodeString const &str, UnicodeString const &charlist) | 
| UnicodeString | AddCSlashesW (UnicodeString const &str) | 
| AnsiString | StripSlashes (AnsiString const &str, AnsiString const &charlist) | 
| 反斜杠操作  更多... | |
| AnsiString | StripCSlashes (AnsiString const &str) | 
| String | AddQuotes (String const &str, tchar quote= '\"' ) | 
| double引号  更多... | |
| bool | StrGetLine (String *line, String const &str, int *i, String *nl=NULL) | 
| 获取字符串中的一行,支持unix,windows,mac平台的行分隔方式 line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。 更多...  | |
| template<typename _ChTy , typename _IndexType > | |
| static std::vector< _IndexType > | _Templ_KmpCalcNext (_ChTy const *substr, int sublen) | 
| KMP匹配算法 求子串next值  更多... | |
| template<typename _ChTy , typename _IndexType > | |
| static int | _Templ_KmpMatchEx (_ChTy const *str, int len, _ChTy const *substr, int sublen, int pos, std::vector< _IndexType > const &next) | 
| KMP匹配算法 传入已经求好的next进行匹配  更多... | |
| template<typename _ChTy , typename _IndexType > | |
| static int | _Templ_KmpMatch (_ChTy const *str, int len, _ChTy const *substr, int sublen, int pos) | 
| KMP匹配算法 匹配  更多... | |
| std::vector< int > | KmpCalcNext (char const *substr, int sublen) | 
| KMP字符串匹配算法 求子串next值  更多... | |
| int | KmpMatchEx (char const *str, int len, char const *substr, int sublen, int pos, std::vector< int > const &next) | 
| KMP字符串匹配算法 传入已经求好的next进行匹配  更多... | |
| int | KmpMatch (char const *str, int len, char const *substr, int sublen, int pos) | 
| KMP字符串匹配算法 匹配  更多... | |
| uint | LocalCharsCount (LocalString const &local) | 
| 返回一个本地字符串里有多少个实际的字符(by local CodePage),用于mbstowcs  更多... | |
| uint | UnicodeMinLength (UnicodeString const &unicode) | 
| 返回一个unicode字符串转换为多字节字符串最少需要多少字节(by local CodePage),用于wcstombs  更多... | |
| LocalString | UnicodeToLocal (UnicodeString const &unicode) | 
| Unicode转换到本地Ansi.  更多... | |
| UnicodeString | LocalToUnicode (LocalString const &local) | 
| 本地Ansi转到Unicode  更多... | |
| String | LocalToString (LocalString const &local) | 
| 兼容字符串与Unicode,Local字符串相互转换  更多... | |
| String | UnicodeToString (UnicodeString const &unicode) | 
| LocalString | StringToLocal (String const &str) | 
| UnicodeString | StringToUnicode (String const &str) | 
| WINUX_DLL String | FormatExV (uint cch, tchar const *fmt, va_list args) | 
| 格式化字符串  更多... | |
| WINUX_DLL String | FormatEx (uint cch, tchar const *fmt,...) | 
| WINUX_DLL String | Format (tchar const *fmt,...) | 
| template<typename _CHAR , uint _N> | |
| SZInput | SZ (_CHAR(&sz)[_N]) | 
| AnsiString | LocalFromUtf8 (AnsiString const &str) | 
| 从utf-8转到本地编码  更多... | |
| AnsiString | LocalToUtf8 (AnsiString const &str) | 
| 从本地编码转到utf-8  更多... | |
| int | CommandLineToArgv (winux::String const &cmd, winux::StringArray *argv) | 
| 把命令行解析成Argv数组  更多... | |
| HProcess | ExecCommandEx (winux::String const &cmd, HPipe *hStdinWritePipe, HPipe *hStdoutReadPipe, HPipe *hStderrReadPipe=NULL, bool closeStdinIfStdinWritePipeIsNull=true) | 
| 新建子进程执行指定命令,并用管道重定向了标准设备  更多... | |
| int | ExecCommand (winux::String const &cmd, winux::String const &stdinStr, winux::String *stdoutStr, winux::String *stderrStr=NULL, bool closeStdinIfStdinStrEmpty=true) | 
| 新建子进程执行指定命令,等待子进程结束,并把字符串重定向了标准设备  更多... | |
| winux::String | GetExec (winux::String const &cmd, winux::String const &stdinStr="", winux::String *stderrStr=NULL, bool closeStdinIfStdinStrEmpty=true) | 
| std::ostream & | operator<< (std::ostream &o, DateTimeL const &dt) | 
| uint64 | GetUtcTimeMs () | 
| 获取UTC时间毫秒数,UTC秒数可以直接除以1000,或者调用CRT的time(NULL)  更多... | |
| uint64 | GetUtcTimeUs () | 
| 获取UTC时间微秒数,UTC秒数可以直接除以1000000,或者调用CRT的time(NULL)  更多... | |
| ulong | GetUtcTime () | 
| 获取UTC时间秒数,或者调用CRT的time(NULL)  更多... | |
| template<typename _MAP , typename _KEY > | |
| bool | isset (_MAP const &m, _KEY const &k) | 
| 检测map中是否有该键的值  更多... | |
| template<typename _Ty > | |
| std::vector< _Ty > | ToArray (_Ty *arr, uint count) | 
| 将C数组转换成vector  更多... | |
| template<typename _Ty , uint _N> | |
| std::vector< _Ty > | ToArray (_Ty(&arr)[_N]) | 
| template<typename _Fx , typename... _ArgType> | |
| int | VoidReturnInt (_Fx fn, _ArgType &&...arg) | 
| 调用一个返回void的函数或函数对象,返回一个数字  更多... | |
| template<typename _Ty > | |
| RefParam< _Ty > | Ref (_Ty &r) | 
| 向模板参数传递引用型参数  更多... | |
| template<typename _KTy , typename _VTy > | |
| MapAssigner< _KTy, _VTy > | Assign (std::map< _KTy, _VTy > *m) | 
| 给容器赋值  更多... | |
| template<typename _Ty > | |
| ArrayAssigner< _Ty > | Assign (std::vector< _Ty > *a) | 
| 给容器赋值  更多... | |
| bool | ValueIsInArray (StringArray const &arr, String const &val, bool caseInsensitive=false) | 
| 判断一个字符串值是否在一个字符串数组里,默认大小写敏感  更多... | |
| int | Random (int n1, int n2) | 
| 随机数,随机产生n1~n2的数字. 包括n1,n2本身  更多... | |
| std::ostream & | operator<< (std::ostream &o, Mixed const &m) | 
| 扩展iostream的<<  更多... | |
| std::wostream & | operator<< (std::wostream &o, Mixed const &m) | 
变量 | |
| WINUX_DLL char const * | __TerminalFgColorAttrs [] | 
| WINUX_DLL char const * | __TerminalBgColorAttrs [] | 
| String const | dirSep = "\\" | 
| 目录分割符  更多... | |
| String const | lineSep = "\r\n" | 
| 行分割符  更多... | |
| String const | pathEnvSep = ";" | 
| PATH环境变量路径分割符  更多... | |
| String const | DirSep = "\\" | 
| 目录分割符  更多... | |
| String const | LineSep = "\r\n" | 
| 行分割符  更多... | |
| String const | PathEnvSep = ";" | 
| PATH环境变量路径分割符  更多... | |
跨平台基础功能库
文件系统相关封装
| typedef std::basic_string<char> winux::AnsiString | 
在文件 utilities.hpp 第 165 行定义.
| typedef unsigned char winux::byte | 
在文件 utilities.hpp 第 159 行定义.
| typedef char16_t winux::char16 | 
在文件 utilities.hpp 第 135 行定义.
| typedef char32_t winux::char32 | 
在文件 utilities.hpp 第 136 行定义.
| typedef int winux::HPipe | 
在文件 system.hpp 第 10 行定义.
| typedef pid_t winux::HProcess | 
在文件 system.hpp 第 11 行定义.
| typedef short winux::int16 | 
在文件 utilities.hpp 第 130 行定义.
| typedef int winux::int32 | 
在文件 utilities.hpp 第 127 行定义.
| typedef long long winux::int64 | 
在文件 utilities.hpp 第 148 行定义.
| typedef char winux::int8 | 
在文件 utilities.hpp 第 132 行定义.
| typedef AnsiString winux::LocalString | 
在文件 utilities.hpp 第 166 行定义.
| typedef long long winux::longlong | 
在文件 utilities.hpp 第 149 行定义.
| typedef std::vector<Mixed> winux::MixedArray | 
在文件 utilities.hpp 第 175 行定义.
| typedef std::basic_string<tchar> winux::String | 
在文件 utilities.hpp 第 162 行定义.
| typedef std::vector<String> winux::StringArray | 
在文件 utilities.hpp 第 171 行定义.
| typedef std::map<String, Mixed> winux::StringMixedMap | 
在文件 utilities.hpp 第 176 行定义.
| typedef std::pair<String, Mixed> winux::StringMixedPair | 
在文件 utilities.hpp 第 177 行定义.
| typedef std::map<String, String> winux::StringStringMap | 
在文件 utilities.hpp 第 172 行定义.
| typedef std::pair<String, String> winux::StringStringPair | 
在文件 utilities.hpp 第 173 行定义.
| typedef char winux::tchar | 
在文件 utilities.hpp 第 155 行定义.
| typedef unsigned int winux::uint | 
在文件 utilities.hpp 第 128 行定义.
| typedef unsigned short winux::uint16 | 
在文件 utilities.hpp 第 131 行定义.
| typedef unsigned int winux::uint32 | 
在文件 utilities.hpp 第 128 行定义.
| typedef unsigned long long winux::uint64 | 
在文件 utilities.hpp 第 146 行定义.
| typedef unsigned char winux::uint8 | 
在文件 utilities.hpp 第 133 行定义.
| typedef unsigned long winux::ulong | 
在文件 utilities.hpp 第 129 行定义.
| typedef unsigned long long winux::ulonglong | 
在文件 utilities.hpp 第 147 行定义.
| typedef std::basic_string<wchar> winux::UnicodeString | 
在文件 utilities.hpp 第 167 行定义.
| typedef std::basic_string<char16> winux::UnicodeString16 | 
在文件 utilities.hpp 第 168 行定义.
| typedef std::basic_string<char32> winux::UnicodeString32 | 
在文件 utilities.hpp 第 169 行定义.
| typedef unsigned short winux::ushort | 
在文件 utilities.hpp 第 131 行定义.
| typedef wchar_t winux::wchar | 
在文件 utilities.hpp 第 145 行定义.
| typedef winux::ulong winux::ZRESULT | 
在文件 archives.hpp 第 109 行定义.
颜色属性标记
在文件 console.hpp 第 10 行定义.
      
  | 
  inlinestatic | 
KMP匹配算法 求子串next值
在文件 strings.hpp 第 83 行定义.
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic | 
KMP匹配算法 传入已经求好的next进行匹配
在文件 strings.hpp 第 109 行定义.
      
  | 
  inline | 
      
  | 
  inline | 
| AnsiString winux::AddSlashesA | ( | AnsiString const & | str, | 
| AnsiString const & | charlist | ||
| ) | 
反斜杠操作
| UnicodeString winux::AddSlashesW | ( | UnicodeString const & | str, | 
| UnicodeString const & | charlist | ||
| ) | 
| MapAssigner< _KTy, _VTy > winux::Assign | ( | std::map< _KTy, _VTy > * | m | ) | 
给容器赋值
在文件 utilities.hpp 第 316 行定义.
| ArrayAssigner<_Ty> winux::Assign | ( | std::vector< _Ty > * | a | ) | 
给容器赋值
在文件 utilities.hpp 第 322 行定义.
| AnsiString winux::Base64Decode | ( | String const & | base64Str | ) | 
Base64解码,与Base64Encode()配套
| String winux::Base64Encode | ( | void const * | buf, | 
| int | size | ||
| ) | 
Base64编码
| String winux::Base64Encode | ( | AnsiString const & | data | ) | 
Base64编码
      
  | 
  inlinestatic | 
| int winux::CommandLineToArgv | ( | winux::String const & | cmd, | 
| winux::StringArray * | argv | ||
| ) | 
把命令行解析成Argv数组
| cmd | String const & | 
| argv | StringArray * | 
      
  | 
  inline | 
在文件 console.hpp 第 152 行定义.
| AnsiString winux::DecryptContent | ( | AnsiString const & | encryptContent | ) | 
内容解密,与EncryptContent()配套
| bool winux::DetectPath | ( | String const & | path, | 
| bool * | isDir = NULL  | 
        ||
| ) | 
探测一个路径是存在还是不存在,是目录还是文件
返回true/false表示是否存在, *isDir返回true/false表示是否为目录
| AnsiString winux::EncryptContent | ( | AnsiString const & | content | ) | 
内容加密
| ulong winux::EnumFiles | ( | String const & | path, | 
| Mixed const & | ext, | ||
| StringArray * | arrFiles, | ||
| bool | isRecursive = false  | 
        ||
| ) | 
在指定路径下枚举指定扩展名的文件
ext可以是扩展名串,也可以是一个数组。 当isRecursive=false时,arrFiles返回的结果不用区别目录,因此不包含目录部分的路径。
| int winux::ExecCommand | ( | winux::String const & | cmd, | 
| winux::String const & | stdinStr, | ||
| winux::String * | stdoutStr, | ||
| winux::String * | stderrStr = NULL,  | 
        ||
| bool | closeStdinIfStdinStrEmpty = true  | 
        ||
| ) | 
新建子进程执行指定命令,等待子进程结束,并把字符串重定向了标准设备
| cmd | winux::String const & | 
| stdinStr | winux::String const & | 
| stdoutStr | winux::String * | 
| stderrStr | winux::String * | 
| closeStdinIfStdinStrEmpty | bool | 
| HProcess winux::ExecCommandEx | ( | winux::String const & | cmd, | 
| HPipe * | hStdinWritePipe, | ||
| HPipe * | hStdoutReadPipe, | ||
| HPipe * | hStderrReadPipe = NULL,  | 
        ||
| bool | closeStdinIfStdinWritePipeIsNull = true  | 
        ||
| ) | 
新建子进程执行指定命令,并用管道重定向了标准设备
| cmd | winux::String const & | 
| hStdinWritePipe | HPipe * | 
| hStdoutReadPipe | HPipe * | 
| hStderrReadPipe | HPipe * | 
| closeStdinIfStdinWritePipeIsNull | bool 指示当不准备重定向标准输入时是否关闭它,这样子进程就不会等待输入而卡死 | 
| AnsiString winux::FileGetContents | ( | String const & | filename, | 
| bool | textMode = true  | 
        ||
| ) | 
载入文件内容为一个AnsiString,textMode表示是否为文本模式
载入文件内容为一个Buffer,textMode表示是否为文本模式
获取路径名(末尾不含目录分隔符)
| fullPath | String const& | 
| fileName | String* | 
| bool winux::FilePutContents | ( | String const & | filename, | 
| AnsiString const & | content, | ||
| bool | textMode = true  | 
        ||
| ) | 
把AnsiString内容写入文件,textMode表示是否为文本模式
把Buffer内容写入文件,textMode表示是否为文本模式
获取文件时间
获取文件标题
| fileName | String const& | 
| extName | String* | 
更新文件修改时间,访问时间
| void winux::FolderData | ( | String const & | path, | 
| StringArray * | fileArr, | ||
| StringArray * | subFolderArr, | ||
| int | sortType = 0  | 
        ||
| ) | 
获取文件夹中的文件和子文件夹,sortType:0结果不排序 1正序 2反序
| String winux::GetCurrentDir | ( | void | ) | 
返回当前工作目录(末尾不含目录分隔符)
| winux::String winux::GetExec | ( | winux::String const & | cmd, | 
| winux::String const & | stdinStr = "",  | 
        ||
| winux::String * | stderrStr = NULL,  | 
        ||
| bool | closeStdinIfStdinStrEmpty = true  | 
        ||
| ) | 
| String winux::GetExecutablePath | ( | void | ) | 
获取可执行文件的全路径
| ulong winux::GetUtcTime | ( | ) | 
获取UTC时间秒数,或者调用CRT的time(NULL)
| uint64 winux::GetUtcTimeMs | ( | ) | 
获取UTC时间毫秒数,UTC秒数可以直接除以1000,或者调用CRT的time(NULL)
| uint64 winux::GetUtcTimeUs | ( | ) | 
获取UTC时间微秒数,UTC秒数可以直接除以1000000,或者调用CRT的time(NULL)
| bool winux::IsAbsPath | ( | String const & | path | ) | 
判断是否为绝对路径
| bool winux::IsDir | ( | String const & | path | ) | 
判断是否是一个目录
      
  | 
  inline | 
检测map中是否有该键的值
在文件 utilities.hpp 第 185 行定义.
| std::vector<int> winux::KmpCalcNext | ( | char const * | substr, | 
| int | sublen | ||
| ) | 
KMP字符串匹配算法 求子串next值
| int winux::KmpMatch | ( | char const * | str, | 
| int | len, | ||
| char const * | substr, | ||
| int | sublen, | ||
| int | pos | ||
| ) | 
KMP字符串匹配算法 匹配
| int winux::KmpMatchEx | ( | char const * | str, | 
| int | len, | ||
| char const * | substr, | ||
| int | sublen, | ||
| int | pos, | ||
| std::vector< int > const & | next | ||
| ) | 
KMP字符串匹配算法 传入已经求好的next进行匹配
| uint winux::LocalCharsCount | ( | LocalString const & | local | ) | 
返回一个本地字符串里有多少个实际的字符(by local CodePage),用于mbstowcs
| AnsiString winux::LocalFromUtf8 | ( | AnsiString const & | str | ) | 
从utf-8转到本地编码
| String winux::LocalToString | ( | LocalString const & | local | ) | 
兼容字符串与Unicode,Local字符串相互转换
| UnicodeString winux::LocalToUnicode | ( | LocalString const & | local | ) | 
本地Ansi转到Unicode
| AnsiString winux::LocalToUtf8 | ( | AnsiString const & | str | ) | 
从本地编码转到utf-8
| long winux::LongAtomicCompareExchange | ( | long volatile * | p, | 
| long | exchange, | ||
| long | comparand | ||
| ) | 
原子化操作,*p若和comparand相等,就把*p赋成exchange,返回值是初始的*p值
| long winux::LongAtomicDecrement | ( | long volatile * | p | ) | 
原子化使一个Long型变量-1,返回值是-1后的*p值
| long winux::LongAtomicIncrement | ( | long volatile * | p | ) | 
原子化使一个Long型变量+1,返回值是+1后的*p值
| bool winux::MakeDirExists | ( | String const & | path, | 
| int | mode = 0755  | 
        ||
| ) | 
确保目录路径的存在性,如果不存在则创建。
linux下需设置目录权限(8进制数),默认权限0755
owner - group - other
R W X - R W X - R W X
1 1 1 - 1 0 1 - 1 0 1
7 5 5 
      
  | 
  inline | 
在文件 smartptr.hpp 第 920 行定义.
      
  | 
  inline | 
在文件 smartptr.hpp 第 926 行定义.
      
  | 
  inline | 
在文件 smartptr.hpp 第 908 行定义.
      
  | 
  inline | 
在文件 smartptr.hpp 第 914 行定义.
| String winux::Md5Hex | ( | void const * | buf, | 
| size_t | size | ||
| ) | 
将数据进行md5编码,返回16进制数字符串
| AnsiString winux::MixedToJsonA | ( | Mixed const & | v, | 
| bool | autoKeyQuotes | ||
| ) | 
Mixed输出成Json.
| UnicodeString winux::MixedToJsonW | ( | Mixed const & | v, | 
| bool | autoKeyQuotes | ||
| ) | 
| std::ostream& winux::operator<< | ( | std::ostream & | o, | 
| DateTimeL const & | dt | ||
| ) | 
      
  | 
  inline | 
在文件 console.hpp 第 134 行定义.
| std::ostream& winux::operator<< | ( | std::ostream & | o, | 
| Mixed const & | m | ||
| ) | 
扩展iostream的<<
| std::wostream& winux::operator<< | ( | std::wostream & | o, | 
| Mixed const & | m | ||
| ) | 
      
  | 
  inline | 
      
  | 
  inlinestatic | 
在文件 console.hpp 第 166 行定义.
      
  | 
  inlinestatic | 
| int winux::Random | ( | int | n1, | 
| int | n2 | ||
| ) | 
随机数,随机产生n1~n2的数字. 包括n1,n2本身
| int winux::RawDecrypt | ( | unsigned char const * | encrypt_data, | 
| int | data_size, | ||
| unsigned char * | buf, | ||
| int | buf_size, | ||
| int * | out_size | ||
| ) | 
未进行C++包装的内容解密,与RawEncrypt()配套
| int winux::RawEncrypt | ( | unsigned char const * | data, | 
| int | data_size, | ||
| unsigned char * | buf, | ||
| int | buf_size, | ||
| int * | out_size | ||
| ) | 
未进行C++包装的内容加密
| RefParam<_Ty> winux::Ref | ( | _Ty & | r | ) | 
向模板参数传递引用型参数
在文件 utilities.hpp 第 241 行定义.
| bool winux::SetCurrentDir | ( | String const & | path | ) | 
设置当前工作目录
| Buffer winux::Sha1 | ( | void const * | buf, | 
| size_t | size | ||
| ) | 
将数据进行sha1编码,返回二进制数据
| String winux::Sha1Hex | ( | void const * | buf, | 
| size_t | size | ||
| ) | 
将数据进行sha1编码,返回16进制数字符串
获取字符串中的一行,支持unix,windows,mac平台的行分隔方式
line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。 
如何统一处理3平台的文本文件: 最好的办法是在该平台用文本模式打开该平台产生的文本文件,然后操作。 然而,现实不像想象的那么美好,多数情况下是处理不同平台下的文本文件,譬如在unix系平台下处理windows或mac的文本文件。 由于行分隔不同,导致处理有一定困难。 此函数正为此而存在。首先,你需要用二进制模式打开文件,然后读取全部数据,调用此函数取行即可。
| LocalString winux::StringToLocal | ( | String const & | str | ) | 
| UnicodeString winux::StringToUnicode | ( | String const & | str | ) | 
在指定位置插入字符串
      
  | 
  inline | 
| AnsiString winux::StripSlashes | ( | AnsiString const & | str, | 
| AnsiString const & | charlist | ||
| ) | 
反斜杠操作
| String winux::StrJoin | ( | String const & | delim, | 
| StringArray const & | arr | ||
| ) | 
字符串组合连接
| String& winux::StrMakeReplace | ( | String * | str, | 
| String const & | findText, | ||
| String const & | replaceText, | ||
| String::size_type | offset = 0  | 
        ||
| ) | 
使字符串全文替换
| int winux::StrSplit | ( | String const & | str, | 
| String const & | delimList, | ||
| StringArray * | arr, | ||
| bool | alwaysRetOneElem = false  | 
        ||
| ) | 
字符串分割
delimList指示出分割符列表,分割符只能是一个字符,函数会把str内分割符间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。 
| str | String const& | 
| delimList | String const& | 
| arr | std::vector<String>* | 
| int winux::StrSplit2 | ( | String const & | str, | 
| String const & | delim, | ||
| StringArray * | arr, | ||
| bool | alwaysRetOneElem = false  | 
        ||
| ) | 
字符串分割2
delim指示出分割字符串,函数会把str内分割字符串间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。 
| str | String const& | 
| delimList | String const& | 
| arr | std::vector<String>* | 
| SZInput winux::SZ | ( | _CHAR(&) | sz[_N] | ) | 
在文件 strings.hpp 第 295 行定义.
| std::vector<_Ty> winux::ToArray | ( | _Ty * | arr, | 
| uint | count | ||
| ) | 
将C数组转换成vector
在文件 utilities.hpp 第 192 行定义.
| std::vector<_Ty> winux::ToArray | ( | _Ty(&) | arr[_N] | ) | 
在文件 utilities.hpp 第 198 行定义.
| uint winux::UnicodeMinLength | ( | UnicodeString const & | unicode | ) | 
返回一个unicode字符串转换为多字节字符串最少需要多少字节(by local CodePage),用于wcstombs
| LocalString winux::UnicodeToLocal | ( | UnicodeString const & | unicode | ) | 
Unicode转换到本地Ansi.
| String winux::UnicodeToString | ( | UnicodeString const & | unicode | ) | 
URI组成部分编码,遵循RFC1738.
除了-_.~之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数。 这是在RFC1738中描述的编码。
URL编码
除了-_.之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数,空格则编码为加号(+)。 此编码与WWW表单POST数据的编码方式是一样的,同时与application/x-www-form-urlencoded的媒体类型编码方式一样。 由于历史原因,此编码在将空格编码为加号(+)方面与RFC1738编码不同。 此函数便于将字符串编码并将其用于URL的请求部分,同时它还便于将变量传递给下一页。
| bool winux::ValueIsInArray | ( | StringArray const & | arr, | 
| String const & | val, | ||
| bool | caseInsensitive = false  | 
        ||
| ) | 
判断一个字符串值是否在一个字符串数组里,默认大小写敏感
| int winux::VoidReturnInt | ( | _Fx | fn, | 
| _ArgType &&... | arg | ||
| ) | 
| void winux::WriteBinLog | ( | void const * | data, | 
| int | size | ||
| ) | 
二进制日志
| void winux::WriteLog | ( | String const & | s | ) | 
日志
| WINUX_DLL char const* winux::__TerminalBgColorAttrs[] | 
| WINUX_DLL char const* winux::__TerminalFgColorAttrs[] | 
| String const winux::dirSep = "\\" | 
目录分割符
在文件 filesys.hpp 第 16 行定义.
| String const winux::DirSep = "\\" | 
目录分割符
在文件 filesys.hpp 第 19 行定义.
| String const winux::lineSep = "\r\n" | 
行分割符
在文件 filesys.hpp 第 17 行定义.
| String const winux::LineSep = "\r\n" | 
行分割符
在文件 filesys.hpp 第 20 行定义.
| String const winux::pathEnvSep = ";" | 
PATH环境变量路径分割符
在文件 filesys.hpp 第 18 行定义.
| String const winux::PathEnvSep = ";" | 
PATH环境变量路径分割符
在文件 filesys.hpp 第 21 行定义.