|
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 行定义.