NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
basic_string_view< CharT, Traits > 模板类 参考

基本字符串视图模板 更多...

#include <basic_string_view.hpp>

类 basic_string_view< CharT, Traits > 继承关系图:
[图例]

Public 类型

using value_type = CharT
 值类型
using pointer = const CharT*
 指针类型
using reference = const CharT&
 引用类型
using const_pointer = const CharT*
 常量指针类型
using const_reference = const CharT&
 常量引用类型
using size_type = size_t
 大小类型
using difference_type = ptrdiff_t
 差值类型
using const_iterator = basic_string_view_iterator<Traits>
 常量迭代器类型
using iterator = const_iterator
 迭代器类型
using const_reverse_iterator = _NEFORCE reverse_iterator<const_iterator>
 常量反向迭代器类型
using reverse_iterator = const_reverse_iterator
 反向迭代器类型
using traits_type = Traits
 字符特征类型

Public 成员函数

constexpr basic_string_view (const_pointer str) noexcept
 从C风格字符串构造
constexpr basic_string_view (const_pointer str, const size_type n) noexcept
 从字符数组构造(指定长度)
template<typename Iterator, enable_if_t< is_same_v< iter_value_t< Iterator >, value_type >, int > = 0>
constexpr basic_string_view (Iterator start, Iterator finish)
 从迭代器范围构造
NEFORCE_CONSTEXPR20 ~basic_string_view () noexcept=default
 析构函数
NEFORCE_NODISCARD constexpr const_iterator begin () const noexcept
 获取起始迭代器
NEFORCE_NODISCARD constexpr const_iterator end () const noexcept
 获取结束迭代器
NEFORCE_NODISCARD constexpr const_iterator cbegin () const noexcept
 获取常量起始迭代器
NEFORCE_NODISCARD constexpr const_iterator cend () const noexcept
 获取常量结束迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator rbegin () const noexcept
 获取反向起始迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator rend () const noexcept
 获取反向结束迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator crbegin () const noexcept
 获取常量反向起始迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator crend () const noexcept
 获取常量反向结束迭代器
NEFORCE_NODISCARD constexpr size_type size () const noexcept
 获取字符串长度
NEFORCE_NODISCARD constexpr size_type max_size () const noexcept
 获取最大可能长度
NEFORCE_NODISCARD constexpr size_type length () const noexcept
 获取字符串长度
NEFORCE_NODISCARD constexpr bool empty () const noexcept
 检查是否为空
NEFORCE_NODISCARD constexpr const_pointer data () const noexcept
 获取底层数据指针
NEFORCE_NODISCARD constexpr const_reference front () const noexcept
 访问第一个字符
NEFORCE_NODISCARD constexpr const_reference back () const noexcept
 访问最后一个字符
NEFORCE_NODISCARD constexpr const_reference operator[] (const size_type n) const noexcept
 下标访问操作符
NEFORCE_NODISCARD constexpr const_reference at (const size_type n) const
 带边界检查的访问
constexpr void remove_prefix (const size_type n) noexcept
 移除前缀
constexpr void remove_suffix (const size_type n) noexcept
 移除后缀
constexpr size_type copy (CharT *const str, size_type count, const size_type off=0) const
 复制字符到目标缓冲区
NEFORCE_NODISCARD constexpr basic_string_view substr (const size_type off=0, size_type count=npos) const
 获取子视图
NEFORCE_NODISCARD constexpr basic_string_view view (const size_type off, size_type count=npos) const
 获取子视图
NEFORCE_NODISCARD constexpr int compare (const basic_string_view view) const noexcept
 比较字符串视图
NEFORCE_NODISCARD constexpr int compare (const size_type off, const size_type n, const basic_string_view view) const
 比较子串与字符串视图
NEFORCE_NODISCARD constexpr int compare (const size_type off, const size_type n, const basic_string_view view, const size_type roff, const size_type count) const
 比较子串与另一个子串
NEFORCE_NODISCARD constexpr int compare (const CharT *const str) const noexcept
 比较与C风格字符串
NEFORCE_NODISCARD constexpr int compare (const size_type off, const size_type n, const CharT *const str) const
 比较子串与C风格字符串
NEFORCE_NODISCARD constexpr int compare (const size_type off, const size_type n, const CharT *const str, const size_type count) const
 比较子串与指定长度的字符数组
NEFORCE_NODISCARD constexpr size_type find (const basic_string_view view, const size_type n=0) const noexcept
 查找子串
NEFORCE_NODISCARD constexpr size_type find (const CharT chr, const size_type n=0) const noexcept
 查找字符
NEFORCE_NODISCARD constexpr size_type find (const CharT *const str, const size_type off, const size_type count) const noexcept
 查找指定长度的子串
NEFORCE_NODISCARD constexpr size_type find (const CharT *const str, const size_type off=0) const noexcept
 查找C风格字符串
NEFORCE_NODISCARD constexpr size_type rfind (const basic_string_view view, const size_type off=npos) const noexcept
 从后向前查找子串
NEFORCE_NODISCARD constexpr size_type rfind (const CharT chr, const size_type n=npos) const noexcept
 从后向前查找字符
NEFORCE_NODISCARD constexpr size_type rfind (const CharT *const str, const size_type off, const size_type n) const noexcept
 从后向前查找指定长度的子串
NEFORCE_NODISCARD constexpr size_type rfind (const CharT *const str, const size_type off=npos) const noexcept
 从后向前查找C风格字符串
NEFORCE_NODISCARD constexpr size_type find_first_of (const basic_string_view view, const size_type off=0) const noexcept
 查找第一个出现在字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_first_of (const CharT chr, const size_type off=0) const noexcept
 查找第一个等于指定字符的位置
NEFORCE_NODISCARD constexpr size_type find_first_of (const CharT *const str, const size_type off, const size_type n) const noexcept
 查找第一个出现在指定字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_first_of (const CharT *const str, const size_type off=0) const noexcept
 查找第一个出现在C风格字符串集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_of (const basic_string_view view, const size_type off=npos) const noexcept
 查找最后一个出现在字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_of (const CharT chr, const size_type off=npos) const noexcept
 查找最后一个等于指定字符的位置
NEFORCE_NODISCARD constexpr size_type find_last_of (const CharT *const str, const size_type off, const size_type n) const noexcept
 查找最后一个出现在指定字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_of (const CharT *const str, const size_type off=npos) const noexcept
 查找最后一个出现在C风格字符串集合中的字符
NEFORCE_NODISCARD constexpr size_type find_first_not_of (const basic_string_view view, const size_type off=0) const noexcept
 查找第一个不在字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_first_not_of (const CharT chr, const size_type off=0) const noexcept
 查找第一个不等于指定字符的位置
NEFORCE_NODISCARD constexpr size_type find_first_not_of (const CharT *const str, const size_type off, const size_type n) const noexcept
 查找第一个不在指定字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_first_not_of (const CharT *const str, const size_type off=0) const noexcept
 查找第一个不在C风格字符串集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_not_of (const basic_string_view view, const size_type off=npos) const noexcept
 查找最后一个不在字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_not_of (const CharT chr, const size_type off=npos) const noexcept
 查找最后一个不等于指定字符的位置
NEFORCE_NODISCARD constexpr size_type find_last_not_of (const CharT *const str, const size_type off, const size_type n) const noexcept
 查找最后一个不在指定字符集合中的字符
NEFORCE_NODISCARD constexpr size_type find_last_not_of (const CharT *const str, const size_type off=npos) const noexcept
 查找最后一个不在C风格字符串集合中的字符
NEFORCE_CONSTEXPR20 size_type count (value_type chr, const size_type position=0) const noexcept
 统计指定字符出现的次数
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool starts_with (const basic_string_view view) const noexcept
 检查是否以指定视图开头
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool starts_with (value_type chr) const noexcept
 检查是否以指定字符开头
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool starts_with (const_pointer str) const noexcept
 检查是否以C风格字符串开头
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool ends_with (const basic_string_view view) const noexcept
 检查是否以指定视图结尾
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool ends_with (value_type chr) const noexcept
 检查是否以指定字符结尾
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool ends_with (const_pointer str) const noexcept
 检查是否以C风格字符串结尾
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool contains (const basic_string_view view) const noexcept
 检查是否包含指定视图
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool contains (value_type chr) const noexcept
 检查是否包含指定字符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool contains (const_pointer str) const noexcept
 检查是否包含C风格字符串
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim_left () const noexcept
 去除左侧空白字符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim_right () const noexcept
 去除右侧空白字符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim () const noexcept
 去除两侧空白字符
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim_left_if (Predicate pred) const noexcept(noexcept(pred(*cbegin())))
 根据谓词去除左侧字符
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim_right_if (Predicate pred) const noexcept(noexcept(pred(*crbegin())))
 根据谓词去除右侧字符
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view trim_if (Predicate pred) const noexcept(noexcept(this->trim_right_if(pred)) &&noexcept(this->trim_left_if(pred)))
 根据谓词去除两侧字符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool equal_to (const basic_string_view str) const noexcept
 相等比较
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool equal_to (const CharT *str) const noexcept
 与C风格字符串相等比较
constexpr void swap (basic_string_view &view) noexcept
 交换两个字符串视图
NEFORCE_NODISCARD constexpr bool operator== (const basic_string_view &rhs) const noexcept
 相等比较操作符
NEFORCE_NODISCARD constexpr bool operator< (const basic_string_view &rhs) const noexcept
 小于比较操作符
NEFORCE_NODISCARD constexpr size_t to_hash () const noexcept
 计算哈希值
Public 成员函数 继承自 icomparable< basic_string_view< CharT, Traits > >
NEFORCE_NODISCARD constexpr bool operator== (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(derived()==rhs))
 相等比较运算符
NEFORCE_NODISCARD constexpr bool operator!= (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(!(*this==rhs)))
 不等比较运算符
NEFORCE_NODISCARD constexpr bool operator< (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(derived()< rhs))
 小于比较运算符
NEFORCE_NODISCARD constexpr bool operator> (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(rhs< derived()))
 大于比较运算符
NEFORCE_NODISCARD constexpr bool operator<= (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(!(derived() > rhs)))
 小于等于比较运算符
NEFORCE_NODISCARD constexpr bool operator>= (const basic_string_view< CharT, Traits > &rhs) const noexcept(noexcept(!(derived()< rhs)))
 大于等于比较运算符
Public 成员函数 继承自 ihashable< basic_string_view< CharT, Traits > >
NEFORCE_NODISCARD constexpr size_t to_hash () const noexcept(noexcept(derived().to_hash()))
 获取对象的哈希值

静态 Public 属性

static constexpr auto npos = static_cast<size_type>(-1)
 特殊值,表示未找到或直到末尾

详细描述

template<typename CharT, typename Traits>
class basic_string_view< CharT, Traits >

基本字符串视图模板

模板参数
CharT字符类型
Traits字符特征类型,默认为char_traits<CharT>

string_view是一个非拥有的字符串视图,提供对字符序列的只读访问。 它不进行内存分配,不拥有所指向的字符串,因此生命周期必须由调用者保证。 提供类似string的接口,但所有操作都是const的。

在文件 basic_string_view.hpp169 行定义.

构造及析构函数说明

◆ basic_string_view() [1/3]

template<typename CharT, typename Traits>
basic_string_view< CharT, Traits >::basic_string_view ( const_pointer str)
inlineconstexprnoexcept

从C风格字符串构造

参数
str以空字符结尾的C风格字符串

注意:字符串长度通过Traits::length计算,要求字符串以空字符结尾。

在文件 basic_string_view.hpp218 行定义.

◆ basic_string_view() [2/3]

template<typename CharT, typename Traits>
basic_string_view< CharT, Traits >::basic_string_view ( const_pointer str,
const size_type n )
inlineconstexprnoexcept

从字符数组构造(指定长度)

参数
str字符数组指针
n字符数量

不要求字符串以空字符结尾,可以包含空字符。

在文件 basic_string_view.hpp229 行定义.

◆ basic_string_view() [3/3]

template<typename CharT, typename Traits>
template<typename Iterator, enable_if_t< is_same_v< iter_value_t< Iterator >, value_type >, int > = 0>
basic_string_view< CharT, Traits >::basic_string_view ( Iterator start,
Iterator finish )
inlineconstexpr

从迭代器范围构造

模板参数
Iterator迭代器类型
参数
start起始迭代器
finish结束迭代器

要求迭代器指向的值为value_type类型。

在文件 basic_string_view.hpp242 行定义.

成员函数说明

◆ at()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reference basic_string_view< CharT, Traits >::at ( const size_type n) const
inlineconstexpr

带边界检查的访问

参数
n索引
返回
指定位置的字符引用

在文件 basic_string_view.hpp366 行定义.

◆ back()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reference basic_string_view< CharT, Traits >::back ( ) const
inlineconstexprnoexcept

访问最后一个字符

返回
最后一个字符的引用

在文件 basic_string_view.hpp346 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::ends_with().

◆ begin()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_iterator basic_string_view< CharT, Traits >::begin ( ) const
inlineconstexprnoexcept

获取起始迭代器

返回
指向第一个字符的迭代器

在文件 basic_string_view.hpp255 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::cbegin() , 以及 basic_string_view< typename Traits::char_type, Traits >::rend().

◆ cbegin()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_iterator basic_string_view< CharT, Traits >::cbegin ( ) const
inlineconstexprnoexcept

获取常量起始迭代器

返回
指向第一个字符的常量迭代器

在文件 basic_string_view.hpp267 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_left_if().

◆ cend()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_iterator basic_string_view< CharT, Traits >::cend ( ) const
inlineconstexprnoexcept

获取常量结束迭代器

返回
指向最后一个字符之后位置的常量迭代器

在文件 basic_string_view.hpp273 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_left_if().

◆ compare() [1/6]

◆ compare() [2/6]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr int basic_string_view< CharT, Traits >::compare ( const CharT *const str) const
inlineconstexprnoexcept

比较与C风格字符串

参数
strC风格字符串
返回
比较结果

在文件 basic_string_view.hpp470 行定义.

◆ compare() [3/6]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr int basic_string_view< CharT, Traits >::compare ( const size_type off,
const size_type n,
const basic_string_view< CharT, Traits > view ) const
inlineconstexpr

比较子串与字符串视图

参数
off起始偏移
n子串长度
view要比较的字符串视图
返回
比较结果

在文件 basic_string_view.hpp446 行定义.

◆ compare() [4/6]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr int basic_string_view< CharT, Traits >::compare ( const size_type off,
const size_type n,
const basic_string_view< CharT, Traits > view,
const size_type roff,
const size_type count ) const
inlineconstexpr

比较子串与另一个子串

参数
off起始偏移
n子串长度
view要比较的字符串视图
roff目标起始偏移
count目标子串长度
返回
比较结果

在文件 basic_string_view.hpp460 行定义.

◆ compare() [5/6]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr int basic_string_view< CharT, Traits >::compare ( const size_type off,
const size_type n,
const CharT *const str ) const
inlineconstexpr

比较子串与C风格字符串

参数
off起始偏移
n子串长度
strC风格字符串
返回
比较结果

在文件 basic_string_view.hpp481 行定义.

◆ compare() [6/6]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr int basic_string_view< CharT, Traits >::compare ( const size_type off,
const size_type n,
const CharT *const str,
const size_type count ) const
inlineconstexpr

比较子串与指定长度的字符数组

参数
off起始偏移
n子串长度
str字符数组
count字符数组长度
返回
比较结果

在文件 basic_string_view.hpp493 行定义.

◆ contains() [1/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::contains ( const basic_string_view< CharT, Traits > view) const
inlinenoexcept

检查是否包含指定视图

参数
view要检查的视图
返回
是否包含view

在文件 basic_string_view.hpp835 行定义.

◆ contains() [2/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::contains ( const_pointer str) const
inlinenoexcept

检查是否包含C风格字符串

参数
str要检查的字符串
返回
是否包含str

在文件 basic_string_view.hpp853 行定义.

◆ contains() [3/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::contains ( value_type chr) const
inlinenoexcept

检查是否包含指定字符

参数
chr要检查的字符
返回
是否包含chr

在文件 basic_string_view.hpp844 行定义.

◆ copy()

template<typename CharT, typename Traits>
size_type basic_string_view< CharT, Traits >::copy ( CharT *const str,
size_type count,
const size_type off = 0 ) const
inlineconstexpr

复制字符到目标缓冲区

参数
str目标缓冲区
count要复制的字符数
off起始偏移
返回
实际复制的字符数

在文件 basic_string_view.hpp401 行定义.

◆ count()

template<typename CharT, typename Traits>
NEFORCE_CONSTEXPR20 size_type basic_string_view< CharT, Traits >::count ( value_type chr,
const size_type position = 0 ) const
inlinenoexcept

统计指定字符出现的次数

参数
chr要统计的字符
position起始位置
返回
字符出现的次数

在文件 basic_string_view.hpp765 行定义.

◆ crbegin()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reverse_iterator basic_string_view< CharT, Traits >::crbegin ( ) const
inlineconstexprnoexcept

获取常量反向起始迭代器

返回
指向最后一个字符的常量反向迭代器

在文件 basic_string_view.hpp291 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_right_if().

◆ crend()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reverse_iterator basic_string_view< CharT, Traits >::crend ( ) const
inlineconstexprnoexcept

获取常量反向结束迭代器

返回
指向第一个字符之前位置的常量反向迭代器

在文件 basic_string_view.hpp297 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_right_if().

◆ data()

◆ empty()

◆ end()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_iterator basic_string_view< CharT, Traits >::end ( ) const
inlineconstexprnoexcept

获取结束迭代器

返回
指向最后一个字符之后位置的迭代器

在文件 basic_string_view.hpp261 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::cend() , 以及 basic_string_view< typename Traits::char_type, Traits >::rbegin().

◆ ends_with() [1/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::ends_with ( const basic_string_view< CharT, Traits > view) const
inlinenoexcept

检查是否以指定视图结尾

参数
view要检查的视图
返回
是否以view结尾

在文件 basic_string_view.hpp807 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::ends_with().

◆ ends_with() [2/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::ends_with ( const_pointer str) const
inlinenoexcept

检查是否以C风格字符串结尾

参数
str要检查的字符串
返回
是否以str结尾

在文件 basic_string_view.hpp826 行定义.

◆ ends_with() [3/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::ends_with ( value_type chr) const
inlinenoexcept

检查是否以指定字符结尾

参数
chr要检查的字符
返回
是否以chr结尾

在文件 basic_string_view.hpp817 行定义.

◆ equal_to() [1/2]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::equal_to ( const basic_string_view< CharT, Traits > str) const
inlinenoexcept

相等比较

参数
str要比较的字符串视图
返回
是否相等

在文件 basic_string_view.hpp948 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::equal_to() , 以及 basic_string_view< typename Traits::char_type, Traits >::operator==().

◆ equal_to() [2/2]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::equal_to ( const CharT * str) const
inlinenoexcept

与C风格字符串相等比较

参数
strC风格字符串
返回
是否相等

在文件 basic_string_view.hpp957 行定义.

◆ find() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find ( const basic_string_view< CharT, Traits > view,
const size_type n = 0 ) const
inlineconstexprnoexcept

查找子串

参数
view要查找的子串
n起始位置
返回
子串首次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp504 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::contains(), basic_string_view< typename Traits::char_type, Traits >::contains() , 以及 basic_string_view< typename Traits::char_type, Traits >::contains().

◆ find() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find ( const CharT *const str,
const size_type off,
const size_type count ) const
inlineconstexprnoexcept

查找指定长度的子串

参数
str子串指针
off起始位置
count子串长度
返回
子串首次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp525 行定义.

◆ find() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find ( const CharT *const str,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找C风格字符串

参数
strC风格字符串
off起始位置
返回
子串首次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp536 行定义.

◆ find() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find ( const CharT chr,
const size_type n = 0 ) const
inlineconstexprnoexcept

查找字符

参数
chr要查找的字符
n起始位置
返回
字符首次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp514 行定义.

◆ find_first_not_of() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_not_of ( const basic_string_view< CharT, Traits > view,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个不在字符集合中的字符

参数
view字符集合
off起始位置
返回
第一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp677 行定义.

◆ find_first_not_of() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_not_of ( const CharT *const str,
const size_type off,
const size_type n ) const
inlineconstexprnoexcept

查找第一个不在指定字符集合中的字符

参数
str字符集合指针
off起始位置
n集合长度
返回
第一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp699 行定义.

◆ find_first_not_of() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_not_of ( const CharT *const str,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个不在C风格字符串集合中的字符

参数
strC风格字符串集合
off起始位置
返回
第一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp710 行定义.

◆ find_first_not_of() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_not_of ( const CharT chr,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个不等于指定字符的位置

参数
chr指定字符
off起始位置
返回
第一个不等于chr的位置,未找到则返回npos

在文件 basic_string_view.hpp688 行定义.

◆ find_first_of() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_of ( const basic_string_view< CharT, Traits > view,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个出现在字符集合中的字符

参数
view字符集合
off起始位置
返回
第一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp589 行定义.

◆ find_first_of() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_of ( const CharT *const str,
const size_type off,
const size_type n ) const
inlineconstexprnoexcept

查找第一个出现在指定字符集合中的字符

参数
str字符集合指针
off起始位置
n集合长度
返回
第一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp611 行定义.

◆ find_first_of() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_of ( const CharT *const str,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个出现在C风格字符串集合中的字符

参数
strC风格字符串集合
off起始位置
返回
第一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp622 行定义.

◆ find_first_of() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_first_of ( const CharT chr,
const size_type off = 0 ) const
inlineconstexprnoexcept

查找第一个等于指定字符的位置

参数
chr要查找的字符
off起始位置
返回
第一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp600 行定义.

◆ find_last_not_of() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_not_of ( const basic_string_view< CharT, Traits > view,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个不在字符集合中的字符

参数
view字符集合
off起始位置
返回
最后一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp721 行定义.

◆ find_last_not_of() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_not_of ( const CharT *const str,
const size_type off,
const size_type n ) const
inlineconstexprnoexcept

查找最后一个不在指定字符集合中的字符

参数
str字符集合指针
off起始位置
n集合长度
返回
最后一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp743 行定义.

◆ find_last_not_of() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_not_of ( const CharT *const str,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个不在C风格字符串集合中的字符

参数
strC风格字符串集合
off起始位置
返回
最后一个不匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp754 行定义.

◆ find_last_not_of() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_not_of ( const CharT chr,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个不等于指定字符的位置

参数
chr指定字符
off起始位置
返回
最后一个不等于chr的位置,未找到则返回npos

在文件 basic_string_view.hpp732 行定义.

◆ find_last_of() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_of ( const basic_string_view< CharT, Traits > view,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个出现在字符集合中的字符

参数
view字符集合
off起始位置
返回
最后一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp633 行定义.

◆ find_last_of() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_of ( const CharT *const str,
const size_type off,
const size_type n ) const
inlineconstexprnoexcept

查找最后一个出现在指定字符集合中的字符

参数
str字符集合指针
off起始位置
n集合长度
返回
最后一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp655 行定义.

◆ find_last_of() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_of ( const CharT *const str,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个出现在C风格字符串集合中的字符

参数
strC风格字符串集合
off起始位置
返回
最后一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp666 行定义.

◆ find_last_of() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::find_last_of ( const CharT chr,
const size_type off = npos ) const
inlineconstexprnoexcept

查找最后一个等于指定字符的位置

参数
chr要查找的字符
off起始位置
返回
最后一个匹配字符的位置,未找到则返回npos

在文件 basic_string_view.hpp644 行定义.

◆ front()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reference basic_string_view< CharT, Traits >::front ( ) const
inlineconstexprnoexcept

访问第一个字符

返回
第一个字符的引用

在文件 basic_string_view.hpp337 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::starts_with().

◆ length()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::length ( ) const
inlineconstexprnoexcept

获取字符串长度

返回
字符数量

在文件 basic_string_view.hpp317 行定义.

被这些函数引用 bitset< N >::bitset(), escape(), color::parse() , 以及 basic_string_view< typename Traits::char_type, Traits >::to_hash().

◆ max_size()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::max_size ( ) const
inlineconstexprnoexcept

获取最大可能长度

返回
最大长度

在文件 basic_string_view.hpp309 行定义.

◆ operator<()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr bool basic_string_view< CharT, Traits >::operator< ( const basic_string_view< CharT, Traits > & rhs) const
inlineconstexprnoexcept

小于比较操作符

参数
rhs右侧字符串视图
返回
是否小于

在文件 basic_string_view.hpp985 行定义.

◆ operator==()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr bool basic_string_view< CharT, Traits >::operator== ( const basic_string_view< CharT, Traits > & rhs) const
inlineconstexprnoexcept

相等比较操作符

参数
rhs右侧字符串视图
返回
是否相等

在文件 basic_string_view.hpp976 行定义.

◆ operator[]()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reference basic_string_view< CharT, Traits >::operator[] ( const size_type n) const
inlineconstexprnoexcept

下标访问操作符

参数
n索引
返回
指定位置的字符引用

在文件 basic_string_view.hpp356 行定义.

◆ rbegin()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reverse_iterator basic_string_view< CharT, Traits >::rbegin ( ) const
inlineconstexprnoexcept

获取反向起始迭代器

返回
指向最后一个字符的反向迭代器

在文件 basic_string_view.hpp279 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::crbegin().

◆ remove_prefix()

template<typename CharT, typename Traits>
void basic_string_view< CharT, Traits >::remove_prefix ( const size_type n)
inlineconstexprnoexcept

移除前缀

参数
n要移除的字符数

将视图的起始位置向前移动n个字符。

在文件 basic_string_view.hpp377 行定义.

被这些函数引用 datetime::parse_GMT().

◆ remove_suffix()

template<typename CharT, typename Traits>
void basic_string_view< CharT, Traits >::remove_suffix ( const size_type n)
inlineconstexprnoexcept

移除后缀

参数
n要移除的字符数

将视图的结束位置向前移动n个字符。

在文件 basic_string_view.hpp389 行定义.

◆ rend()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr const_reverse_iterator basic_string_view< CharT, Traits >::rend ( ) const
inlineconstexprnoexcept

获取反向结束迭代器

返回
指向第一个字符之前位置的反向迭代器

在文件 basic_string_view.hpp285 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::crend().

◆ rfind() [1/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::rfind ( const basic_string_view< CharT, Traits > view,
const size_type off = npos ) const
inlineconstexprnoexcept

从后向前查找子串

参数
view要查找的子串
off起始位置,默认为npos
返回
子串最后一次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp546 行定义.

◆ rfind() [2/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::rfind ( const CharT *const str,
const size_type off,
const size_type n ) const
inlineconstexprnoexcept

从后向前查找指定长度的子串

参数
str子串指针
off起始位置
n子串长度
返回
子串最后一次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp568 行定义.

◆ rfind() [3/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::rfind ( const CharT *const str,
const size_type off = npos ) const
inlineconstexprnoexcept

从后向前查找C风格字符串

参数
strC风格字符串
off起始位置
返回
子串最后一次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp579 行定义.

◆ rfind() [4/4]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_type basic_string_view< CharT, Traits >::rfind ( const CharT chr,
const size_type n = npos ) const
inlineconstexprnoexcept

从后向前查找字符

参数
chr要查找的字符
n起始位置,默认为npos
返回
字符最后一次出现的位置,未找到则返回npos

在文件 basic_string_view.hpp557 行定义.

◆ size()

◆ starts_with() [1/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::starts_with ( const basic_string_view< CharT, Traits > view) const
inlinenoexcept

检查是否以指定视图开头

参数
view要检查的视图
返回
是否以view开头

在文件 basic_string_view.hpp780 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::starts_with().

◆ starts_with() [2/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::starts_with ( const_pointer str) const
inlinenoexcept

检查是否以C风格字符串开头

参数
str要检查的字符串
返回
是否以str开头

在文件 basic_string_view.hpp798 行定义.

◆ starts_with() [3/3]

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool basic_string_view< CharT, Traits >::starts_with ( value_type chr) const
inlinenoexcept

检查是否以指定字符开头

参数
chr要检查的字符
返回
是否以chr开头

在文件 basic_string_view.hpp789 行定义.

◆ substr()

◆ swap()

template<typename CharT, typename Traits>
void basic_string_view< CharT, Traits >::swap ( basic_string_view< CharT, Traits > & view)
inlineconstexprnoexcept

交换两个字符串视图

参数
view要交换的另一个视图

在文件 basic_string_view.hpp965 行定义.

◆ to_hash()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr size_t basic_string_view< CharT, Traits >::to_hash ( ) const
inlineconstexprnoexcept

计算哈希值

返回
哈希值

在文件 basic_string_view.hpp993 行定义.

被这些函数引用 meta_type::is_derived_from().

◆ trim()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim ( ) const
inlinenoexcept

去除两侧空白字符

返回
去除两侧空白后的新视图

在文件 basic_string_view.hpp877 行定义.

被这些函数引用 boolean::parse().

◆ trim_if()

template<typename CharT, typename Traits>
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim_if ( Predicate pred) const
inlinenoexcept

根据谓词去除两侧字符

模板参数
Predicate谓词类型
参数
pred谓词函数,返回true表示要移除的字符
返回
去除后的新视图

在文件 basic_string_view.hpp938 行定义.

◆ trim_left()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim_left ( ) const
inlinenoexcept

去除左侧空白字符

返回
去除左侧空白后的新视图

在文件 basic_string_view.hpp861 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim().

◆ trim_left_if()

template<typename CharT, typename Traits>
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim_left_if ( Predicate pred) const
inlinenoexcept

根据谓词去除左侧字符

模板参数
Predicate谓词类型
参数
pred谓词函数,返回true表示要移除的字符
返回
去除后的新视图

在文件 basic_string_view.hpp888 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_if() , 以及 basic_string_view< typename Traits::char_type, Traits >::trim_left().

◆ trim_right()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim_right ( ) const
inlinenoexcept

去除右侧空白字符

返回
去除右侧空白后的新视图

在文件 basic_string_view.hpp869 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim().

◆ trim_right_if()

template<typename CharT, typename Traits>
template<typename Predicate>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 basic_string_view basic_string_view< CharT, Traits >::trim_right_if ( Predicate pred) const
inlinenoexcept

根据谓词去除右侧字符

模板参数
Predicate谓词类型
参数
pred谓词函数,返回true表示要移除的字符
返回
去除后的新视图

在文件 basic_string_view.hpp913 行定义.

被这些函数引用 basic_string_view< typename Traits::char_type, Traits >::trim_if() , 以及 basic_string_view< typename Traits::char_type, Traits >::trim_right().

◆ view()

template<typename CharT, typename Traits>
NEFORCE_NODISCARD constexpr basic_string_view basic_string_view< CharT, Traits >::view ( const size_type off,
size_type count = npos ) const
inlineconstexpr

获取子视图

参数
off起始偏移
count子视图长度
返回
子字符串视图

在文件 basic_string_view.hpp426 行定义.

被这些函数引用 pgsql_connect::get_error(), pgsql_prepared_statement::get_error(), sqlite_prepared_statement::get_error(), path::split_iterator::operator*(), sql_builder::table() , 以及 path::view().


该类的文档由以下文件生成: