28 #ifndef YB_INC_ystdex_cstring_h_
29 #define YB_INC_ystdex_cstring_h_ 1
33 #include <type_traits>
67 strcpycat(
char*,
const char*,
const char*);
77 strcatdup(
const char*,
const char*,
void*(*)(
size_t) = std::malloc);
84 template<
typename _tChar>
88 return std::char_traits<_tChar>::eq(c, _tChar());
107 template<
typename _tChar>
127 template<
typename _tChar>
128 YB_PURE typename std::char_traits<_tChar>::int_type
134 typename std::char_traits<_tChar>::int_type d(0);
148 template<
typename _tChar>
149 YB_PURE typename std::char_traits<_tChar>::int_type
155 typename std::char_traits<_tChar>::int_type d(0);
170 template<
typename _tChar>
183 template<
typename _tChar>
188 + std::char_traits<_tChar>::eq(*s, c);
198 template<
typename _tChar>
213 template<
typename _tChar>
217 return n == 0 ? _tChar() : (!std::char_traits<_tChar>::eq(*s1, *s2)
229 template<
typename _tChar>
244 template<
typename _tChar>
260 template<
typename _tChar>
size_t const_ntctschrn(const _tChar *s, _tChar c, size_t n)
在简单 NTCTS 中顺序查找第指定次数出现的指定字符。
size_t const_ntctslen(const _tChar *s)
计算简单 NTCTS 长度。
size_t ntctslen(const _tChar *s)
计算简单 NTCTS 长度。
size_t const_ntctsstr(const _tChar *s1, const _tChar *s2)
在简单 NTCTS 中顺序查找作为子串的指定 NTCTS 。
char * strcpy_n(char *, const char *)
带空指针检查的字符串复制。
#define yunseq
无序列依赖表达式组求值。
std::char_traits< _tChar >::int_type ntctsicmp(const _tChar *s1, const _tChar *s2)
按字典序比较简单 NTCTS (忽略大小写)。
char * strcpycat(char *, const char *, const char *)
带空指针检查的字符串连接。
char * strcatdup(const char *, const char *, void *(*)(size_t)=std::malloc)
带空指针检查的字符串连接复制。
#define YB_API
YBase 应用程序编程接口:用于向库文件约定链接。
#define yconstraint
约束:接口语义。
#define YB_PURE
指示函数或函数模板实例为纯函数。
size_t strlen_n(const char *)
带空指针检查的字符串长度计算。
#define YB_STATELESS
指示函数或函数模板实例为无状态函数。
#define yconstfn
指定编译时常量函数。
size_t const_ntctscnt(const _tChar *s, _tChar c)
计算简单 NTCTS 中的指定字符数。
std::char_traits< _tChar >::int_type const_ntctscmp(const _tChar *s1, const _tChar *s2)
比较简单 NTCTS 。
bool is_null(_tChar c)
使用 std::char_traits::eq 判断是否为空字符。
size_t const_ntctschr(const _tChar *s, _tChar c)
在简单 NTCTS 中顺序查找指定字符。
std::char_traits< _tChar >::int_type ntctscmp(const _tChar *s1, const _tChar *s2)
按字典序比较简单 NTCTS 。