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

非拥有只读字符串视图 更多...

struct  neforce::basic_string_view_iterator< Traits >
 字符串视图迭代器 更多...
class  neforce::basic_string_view< CharT, Traits >
 基本字符串视图模板 更多...

类型定义

using neforce::string_view = basic_string_view<char>
 字符字符串视图
using neforce::wstring_view = basic_string_view<wchar_t>
 宽字符字符串视图
using neforce::u8string_view = basic_string_view<char8_t>
 UTF-8字符串视图
using neforce::u16string_view = basic_string_view<char16_t>
 UTF-16字符串视图
using neforce::u32string_view = basic_string_view<char32_t>
 UTF-32字符串视图

函数

template<typename CharT>
constexpr bool neforce::getline (const basic_string_view< CharT > data, size_t &pos, basic_string_view< 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_view< CharT > &str, Pred split=[](const CharT ch) { return ch==static_cast< CharT >('\n');})
 从字符串视图中按谓词判断的分隔符提取一行

详细描述

非拥有只读字符串视图

函数说明

◆ getline() [1/2]

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

从字符串视图中按分隔符提取一行

模板参数
CharT字符类型
参数
data源字符串视图
pos当前读取位置(输入输出参数)
str输出参数,存储提取的行
delim分隔符,默认为换行符'
'
返回
是否成功提取到行(false表示已到达末尾)

在文件 string_view.hpp116 行定义.

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

◆ getline() [2/2]

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

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

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

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

在文件 string_view.hpp148 行定义.

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