NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
字符串

动态字符序列容器 更多...

struct  neforce::basic_string_iterator< IsConst, String >
 字符串迭代器 更多...
class  neforce::basic_string< CharT, Traits, Alloc >
 基础字符串模板 更多...
class  neforce::string_builder
 延迟拼接的字符串构建器 更多...

类型定义

using neforce::string = basic_string<char>
 字符字符串
using neforce::wstring = basic_string<wchar_t>
 宽字符字符串
using neforce::u8string = basic_string<char8_t>
 UTF-8字符串
using neforce::u16string = basic_string<char16_t>
 UTF-16字符串
using neforce::u32string = basic_string<char32_t>
 UTF-32字符串

函数

constexpr string neforce::escape (const string_view str)
 转义字符串视图中的特殊字符
constexpr string neforce::escape (const string &str)
 转义字符串中的特殊字符
constexpr string neforce::escape (const char *str)
 转义C风格字符串中的特殊字符
template<typename CharT>
constexpr bool neforce::getline (const basic_string_view< CharT > data, size_t &pos, basic_string< CharT > &str, CharT delim=static_cast< CharT >('\n'))
 从字符串视图中按分隔符读取一行(字符版本)
template<typename CharT>
constexpr bool neforce::getline (const basic_string< CharT > &data, size_t &pos, basic_string< CharT > &str, CharT delim=static_cast< CharT >('\n'))
 从字符串中按分隔符读取一行(字符串版本)
template<typename CharT, typename Pred>
constexpr bool neforce::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>
constexpr bool neforce::getline (const basic_string< CharT > &data, size_t &pos, basic_string< CharT > &str, Pred split=[](const CharT c) { return c==static_cast< CharT >('\n');})
 从字符串中按谓词判断的分隔符读取一行
constexpr string neforce::address_string (const void *p)
 将指针转换为十六进制地址字符串
template<typename... Args, enable_if_t<(sizeof...(Args) > 0), int > = 0>
string neforce::concatenate (Args &&... args)
 拼接参数

详细描述

动态字符序列容器

函数说明

◆ address_string()

string neforce::address_string ( const void * p)
nodiscardconstexpr

将指针转换为十六进制地址字符串

参数
p要转换的指针
返回
格式化的地址字符串

将指针转换为"0x"开头的十六进制字符串表示。 地址长度根据系统位数自动调整。 如果指针为空,返回"nullptr"。

在文件 string.hpp304 行定义.

引用了 address_string() , 以及 neforce::basic_string< CharT, Traits, Alloc >::reserve().

被这些函数引用 address_string() , 以及 to_string().

◆ concatenate()

template<typename... Args, enable_if_t<(sizeof...(Args) > 0), int > = 0>
string neforce::concatenate ( Args &&... args)
nodiscard

拼接参数

模板参数
Args参数类型
参数
args要拼接的参数
返回
拼接后的字符串

在文件 string_builder.hpp191 行定义.

引用了 neforce::string_builder::build(), concatenate() , 以及 forward().

被这些函数引用 concatenate(), neforce::sys_console::eprintln(), neforce::sys_console::print(), neforce::sys_console::printcln() , 以及 neforce::sys_console::println().

◆ escape() [1/3]

string neforce::escape ( const char * str)
constexpr

转义C风格字符串中的特殊字符

参数
strC风格字符串
返回
转义后的字符串

在文件 string.hpp179 行定义.

引用了 escape().

◆ escape() [2/3]

string neforce::escape ( const string & str)
constexpr

转义字符串中的特殊字符

参数
str要转义的字符串
返回
转义后的字符串

在文件 string.hpp172 行定义.

引用了 escape() , 以及 neforce::basic_string< CharT, Traits, Alloc >::view().

◆ escape() [3/3]

string neforce::escape ( const string_view str)
constexpr

转义字符串视图中的特殊字符

参数
str要转义的字符串视图
返回
转义后的字符串

将字符串中的特殊字符转换为转义序列。 对于不可打印的控制字符(<0x20),转换为Unicode转义。

在文件 string.hpp108 行定义.

引用了 escape(), neforce::basic_string_view< CharT, Traits >::length() , 以及 neforce::basic_string< CharT, Traits, Alloc >::reserve().

被这些函数引用 escape(), escape() , 以及 escape().

◆ getline() [1/4]

template<typename CharT>
bool neforce::getline ( const basic_string< CharT > & data,
size_t & pos,
basic_string< CharT > & str,
CharT delim = static_cast<CharT>('\n') )
constexpr

从字符串中按分隔符读取一行(字符串版本)

模板参数
CharT字符类型
参数
data源字符串
pos当前读取位置
str输出参数,存储读取的行
delim分隔符,默认为换行符
返回
是否成功读取到数据

在文件 string.hpp221 行定义.

引用了 neforce::basic_string< CharT, Traits, Alloc >::clear(), data(), getline() , 以及 neforce::basic_string< CharT, Traits, Alloc >::push_back().

◆ getline() [2/4]

template<typename CharT, typename Pred>
bool neforce::getline ( const basic_string< CharT > & data,
size_t & pos,
basic_string< CharT > & str,
Pred split = [](const CharT c) { return c == static_cast<CharT>('\n'); } )
constexpr

从字符串中按谓词判断的分隔符读取一行

模板参数
CharT字符类型
Pred谓词类型
参数
data源字符串
pos当前读取位置
str输出参数,存储读取的行
split谓词函数,返回true表示该字符是分隔符
返回
是否成功读取到数据

在文件 string.hpp278 行定义.

引用了 data() , 以及 getline().

◆ getline() [3/4]

template<typename CharT>
bool neforce::getline ( const basic_string_view< CharT > data,
size_t & pos,
basic_string< CharT > & str,
CharT delim = static_cast<CharT>('\n') )
constexpr

从字符串视图中按分隔符读取一行(字符版本)

模板参数
CharT字符类型
参数
data源字符串视图
pos当前读取位置
str输出参数,存储读取的行
delim分隔符,默认为换行符
返回
是否成功读取到数据

从data的pos位置开始读取字符,直到遇到分隔符或到达末尾。 将读取的字符(不包括分隔符)存入str,并更新pos位置。 返回true表示至少读取了一个字符(包括分隔符的情况)。

在文件 string.hpp195 行定义.

引用了 neforce::basic_string< CharT, Traits, Alloc >::clear(), data(), getline() , 以及 neforce::basic_string< CharT, Traits, Alloc >::push_back().

被这些函数引用 getline(), getline(), getline(), getline(), getline() , 以及 getline().

◆ getline() [4/4]

template<typename CharT, typename Pred>
bool neforce::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'); } )
constexpr

从字符串视图中按谓词判断的分隔符读取一行

模板参数
CharT字符类型
Pred谓词类型
参数
data源字符串视图
pos当前读取位置
str输出参数,存储读取的行
split谓词函数,返回true表示该字符是分隔符
返回
是否成功读取到数据

使用自定义谓词判断分隔符,可以处理复杂的行分割逻辑。

在文件 string.hpp250 行定义.

引用了 data() , 以及 getline().