|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
动态字符序列容器 更多...
类 | |
| struct | basic_string_iterator< IsConst, String > |
| 字符串迭代器 更多... | |
| class | basic_string< CharT, Traits, Alloc > |
| 基础字符串模板 更多... | |
类型定义 | |
| using | string = basic_string<char> |
| 字符字符串 | |
| using | wstring = basic_string<wchar_t> |
| 宽字符字符串 | |
| using | u8string = basic_string<char8_t> |
| UTF-8字符串 | |
| using | u16string = basic_string<char16_t> |
| UTF-16字符串 | |
| using | u32string = basic_string<char32_t> |
| UTF-32字符串 | |
函数 | |
| NEFORCE_CONSTEXPR20 string | escape (const string_view str) |
| 转义字符串视图中的特殊字符 | |
| NEFORCE_CONSTEXPR20 string | escape (const string &str) |
| 转义字符串中的特殊字符 | |
| NEFORCE_CONSTEXPR20 string | escape (const char *str) |
| 转义C风格字符串中的特殊字符 | |
| template<typename CharT> | |
| NEFORCE_CONSTEXPR20 bool | getline (const basic_string_view< CharT > data, size_t &pos, basic_string< CharT > &str, CharT delim=static_cast< CharT >('\n')) |
| 从字符串视图中按分隔符读取一行(字符版本) | |
| template<typename CharT> | |
| NEFORCE_CONSTEXPR20 bool | getline (const basic_string< CharT > &data, size_t &pos, basic_string< CharT > &str, CharT delim=static_cast< CharT >('\n')) |
| 从字符串中按分隔符读取一行(字符串版本) | |
| template<typename CharT, typename Pred> | |
| NEFORCE_CONSTEXPR20 bool | getline (const basic_string_view< CharT > data, size_t &pos, basic_string< CharT > &str, Pred split=[](const CharT c) { return c==static_cast< CharT >('\n');}) |
| 从字符串视图中按谓词判断的分隔符读取一行 | |
| template<typename CharT, typename Pred> | |
| NEFORCE_CONSTEXPR20 bool | getline (const basic_string< CharT > &data, size_t &pos, basic_string< CharT > &str, Pred split=[](const CharT c) { return c==static_cast< CharT >('\n');}) |
| 从字符串中按谓词判断的分隔符读取一行 | |
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | address_string (const void *p) |
| 将指针转换为十六进制地址字符串 | |
| vector< string_view > NEFORCE_API | split (string_view str, string_view delimiters, bool skip_empty=true) |
| 分割字符串视图 | |
| vector< string > NEFORCE_API | split (const string &str, const string &delimiters, bool skip_empty=true) |
| 分割字符串 | |
| string NEFORCE_API | join (const vector< string > &vec, const string &delimiter="") |
| 连接字符串 | |
| string NEFORCE_API | join_fast (const vector< string > &vec, const string &delimiter="") |
| 快速连接字符串 | |
| string NEFORCE_API | join_accumulate (const vector< string > &vec, const string &delimiter="") |
| 使用累加方式连接字符串 | |
| vector< string > NEFORCE_API | unique (const vector< string > &vec) |
| 字符串去重 | |
动态字符序列容器
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string address_string | ( | const void * | p | ) |
将指针转换为十六进制地址字符串
| p | 要转换的指针 |
将指针转换为"0x"开头的十六进制字符串表示。 地址长度根据系统位数自动调整。 如果指针为空,返回"nullptr"。
在文件 string.hpp 第 312 行定义.
引用了 basic_string< CharT, Traits, Alloc >::reserve().
被这些函数引用 to_string().
| NEFORCE_CONSTEXPR20 string escape | ( | const char * | str | ) |
转义字符串中的特殊字符
| str | 要转义的字符串 |
在文件 string.hpp 第 180 行定义.
引用了 escape() , 以及 basic_string< CharT, Traits, Alloc >::view().
| NEFORCE_CONSTEXPR20 string escape | ( | const string_view | str | ) |
转义字符串视图中的特殊字符
| str | 要转义的字符串视图 |
将字符串中的特殊字符转换为转义序列。 对于不可打印的控制字符(<0x20),转换为Unicode转义。
在文件 string.hpp 第 116 行定义.
引用了 basic_string_view< CharT, Traits >::length() , 以及 basic_string< CharT, Traits, Alloc >::reserve().
| NEFORCE_CONSTEXPR20 bool getline | ( | const basic_string< CharT > & | data, |
| size_t & | pos, | ||
| basic_string< CharT > & | str, | ||
| CharT | delim = static_cast<CharT>('\n') ) |
从字符串中按分隔符读取一行(字符串版本)
| CharT | 字符类型 |
| data | 源字符串 |
| pos | 当前读取位置 |
| str | 输出参数,存储读取的行 |
| delim | 分隔符,默认为换行符 |
在文件 string.hpp 第 229 行定义.
引用了 basic_string< CharT, Traits, Alloc >::clear(), data() , 以及 basic_string< CharT, Traits, Alloc >::push_back().
| NEFORCE_CONSTEXPR20 bool getline | ( | const basic_string< CharT > & | data, |
| size_t & | pos, | ||
| basic_string< CharT > & | str, | ||
| Pred | split = [](const CharT c) { return c == static_cast<CharT>('\n'); } ) |
从字符串中按谓词判断的分隔符读取一行
| CharT | 字符类型 |
| Pred | 谓词类型 |
| data | 源字符串 |
| pos | 当前读取位置 |
| str | 输出参数,存储读取的行 |
| split | 谓词函数,返回true表示该字符是分隔符 |
在文件 string.hpp 第 286 行定义.
引用了 data().
| NEFORCE_CONSTEXPR20 bool getline | ( | const basic_string_view< CharT > | data, |
| size_t & | pos, | ||
| basic_string< CharT > & | str, | ||
| CharT | delim = static_cast<CharT>('\n') ) |
从字符串视图中按分隔符读取一行(字符版本)
| CharT | 字符类型 |
| data | 源字符串视图 |
| pos | 当前读取位置 |
| str | 输出参数,存储读取的行 |
| delim | 分隔符,默认为换行符 |
从data的pos位置开始读取字符,直到遇到分隔符或到达末尾。 将读取的字符(不包括分隔符)存入str,并更新pos位置。 返回true表示至少读取了一个字符(包括分隔符的情况)。
在文件 string.hpp 第 203 行定义.
引用了 basic_string< CharT, Traits, Alloc >::clear(), data() , 以及 basic_string< CharT, Traits, Alloc >::push_back().
| NEFORCE_CONSTEXPR20 bool getline | ( | const basic_string_view< CharT > | data, |
| size_t & | pos, | ||
| basic_string< CharT > & | str, | ||
| Pred | split = [](const CharT c) { return c == static_cast<CharT>('\n'); } ) |
从字符串视图中按谓词判断的分隔符读取一行
| CharT | 字符类型 |
| Pred | 谓词类型 |
| data | 源字符串视图 |
| pos | 当前读取位置 |
| str | 输出参数,存储读取的行 |
| split | 谓词函数,返回true表示该字符是分隔符 |
使用自定义谓词判断分隔符,可以处理复杂的行分割逻辑。
在文件 string.hpp 第 258 行定义.
引用了 data().
连接字符串
| vec | 字符串向量 |
| delimiter | 连接符 |
将字符串向量中的所有字符串用指定的连接符连接起来。 使用普通的循环连接方式。
使用累加方式连接字符串
| vec | 字符串向量 |
| delimiter | 连接符 |
使用accumulate算法进行字符串连接,适合函数式编程风格。
快速连接字符串
| vec | 字符串向量 |
| delimiter | 连接符 |
预先计算总长度并预留空间,提高连接效率。 适合处理大量字符串的连接操作。
| vector< string > NEFORCE_API split | ( | const string & | str, |
| const string & | delimiters, | ||
| bool | skip_empty = true ) |
分割字符串
| str | 要分割的字符串 |
| delimiters | 分隔符集合 |
| skip_empty | 是否跳过空字符串 |
使用指定的分隔符集合分割字符串,返回子串的字符串向量。 分隔符可以是多个字符,每个字符都作为独立的分隔符。
| vector< string_view > NEFORCE_API split | ( | string_view | str, |
| string_view | delimiters, | ||
| bool | skip_empty = true ) |
分割字符串视图
| str | 要分割的字符串视图 |
| delimiters | 分隔符集合 |
| skip_empty | 是否跳过空字符串 |
使用指定的分隔符集合分割字符串,返回子串的视图向量。 分隔符可以是多个字符,每个字符都作为独立的分隔符。