NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::basic_string< CharT, Traits, Alloc > 模板类 参考

基础字符串模板 更多...

#include <basic_string.hpp>

类 neforce::basic_string< CharT, Traits, Alloc > 继承关系图:
[图例]

Public 类型

using value_type = CharT
 值类型
using pointer = CharT*
 指针类型
using reference = CharT&
 引用类型
using const_pointer = const CharT*
 常量指针类型
using const_reference = const CharT&
 常量引用类型
using size_type = size_t
 大小类型
using difference_type = ptrdiff_t
 差值类型
using iterator = basic_string_iterator<false, basic_string>
 迭代器类型
using const_iterator = basic_string_iterator<true, basic_string>
 常量迭代器类型
using reverse_iterator = _NEFORCE reverse_iterator<iterator>
 反向迭代器类型
using const_reverse_iterator = _NEFORCE reverse_iterator<const_iterator>
 常量反向迭代器类型
using traits_type = Traits
 字符特征类型
using view_type = basic_string_view<CharT, Traits>
 字符串视图类型
using allocator_type = Alloc
 分配器类型

Public 成员函数

constexpr basic_string ()
 默认构造函数
constexpr basic_string (size_type n)
 构造函数,指定大小
constexpr basic_string (size_type n, int32_t value)
 构造函数,指定大小和32位整数值
constexpr basic_string (size_type n, int64_t value)
 构造函数,指定大小和64位整数值
constexpr basic_string (size_type n, value_type value)
 构造函数,指定大小和填充字符
constexpr basic_string (const basic_string &other)
 拷贝构造函数
constexpr basic_stringoperator= (const basic_string &other)
 拷贝赋值运算符
constexpr basic_string (basic_string &&other) noexcept
 移动构造函数
constexpr basic_stringoperator= (basic_string &&other) noexcept
 移动赋值运算符
constexpr basic_string (view_type view)
 从字符串视图构造
constexpr basic_string (view_type view, const size_type n)
 从字符串视图构造(指定长度)
constexpr basic_stringoperator= (view_type view)
 字符串视图赋值运算符
constexpr basic_string (const basic_string &other, size_type position)
 从子串构造
constexpr basic_string (const basic_string &other, size_type position, size_type n)
 从子串构造(指定长度)
constexpr basic_string (const_pointer str)
 从C风格字符串构造
constexpr basic_string (const_pointer str, const size_type n)
 从字符数组构造(指定长度)
constexpr basic_stringoperator= (const_pointer str)
 C风格字符串赋值运算符
template<typename Iterator, enable_if_t<!is_convertible_v< Iterator, value_type >, int > = 0>
constexpr basic_string (Iterator first, Iterator last)
 从迭代器范围构造
constexpr basic_string (std::initializer_list< value_type > ilist)
 从初始化列表构造
constexpr basic_stringoperator= (std::initializer_list< value_type > ilist)
 初始化列表赋值运算符
constexpr ~basic_string ()
 析构函数
constexpr iterator begin () noexcept
 获取起始迭代器
constexpr iterator end () noexcept
 获取结束迭代器
constexpr const_iterator begin () const noexcept
 获取常量起始迭代器
constexpr const_iterator end () const noexcept
 获取常量结束迭代器
constexpr const_iterator cbegin () const noexcept
 获取常量起始迭代器
constexpr const_iterator cend () const noexcept
 获取常量结束迭代器
constexpr reverse_iterator rbegin () noexcept
 获取反向起始迭代器
constexpr reverse_iterator rend () noexcept
 获取反向结束迭代器
constexpr const_reverse_iterator rbegin () const noexcept
 获取常量反向起始迭代器
constexpr const_reverse_iterator rend () const noexcept
 获取常量反向结束迭代器
constexpr const_reverse_iterator crbegin () const noexcept
 获取常量反向起始迭代器
constexpr const_reverse_iterator crend () const noexcept
 获取常量反向结束迭代器
constexpr size_type size () const noexcept
 获取字符数
constexpr size_type max_size () const noexcept
 获取最大可能大小
constexpr size_type capacity () const noexcept
 获取容量
constexpr size_type length () const noexcept
 获取字符串长度
constexpr bool empty () const noexcept
 检查是否为空
constexpr void reserve (const size_type n)
 预留容量
constexpr reference operator[] (const size_type n) noexcept
 下标访问操作符
constexpr const_reference operator[] (const size_type n) const noexcept
 常量下标访问操作符
constexpr reference at (const size_type n) noexcept
 带边界检查的访问
constexpr const_reference at (const size_type n) const noexcept
 带边界检查的常量访问
constexpr reference front () noexcept
 访问第一个字符
constexpr const_reference front () const noexcept
 常量访问第一个字符
constexpr reference back () noexcept
 访问最后一个字符
constexpr const_reference back () const noexcept
 常量访问最后一个字符
constexpr pointer data () noexcept
 获取数据指针
constexpr const_pointer data () const noexcept
 获取常量数据指针
constexpr iterator insert (iterator position, value_type value)
 插入单个字符
constexpr basic_stringinsert (size_type position, size_type n, value_type value)
 在指定位置插入多个相同字符
template<typename Iterator>
constexpr iterator insert (iterator position, Iterator first, Iterator last)
 插入迭代器范围
constexpr void push_back (value_type value)
 在末尾插入字符
constexpr void pop_back () noexcept
 删除末尾字符
constexpr basic_stringappend (size_type n, value_type value)
 追加多个相同字符
constexpr basic_stringappend (value_type value)
 追加单个字符
constexpr basic_stringappend (const basic_string &other, size_type position, size_type n)
 追加另一个字符串的子串
constexpr basic_stringappend (const basic_string &other)
 追加另一个字符串
constexpr basic_stringappend (const basic_string &other, size_type position)
 追加另一个字符串的子串
constexpr basic_stringappend (basic_string &&other, size_type position, size_type n)
 追加移动字符串的子串
constexpr basic_stringappend (basic_string &&other)
 追加移动字符串
constexpr basic_stringappend (basic_string &&other, size_type position)
 追加移动字符串的子串
constexpr basic_stringappend (view_type view, size_type n)
 追加字符串视图的指定长度
constexpr basic_stringappend (view_type view)
 追加字符串视图
constexpr basic_stringappend (const_pointer str, size_type n)
 追加字符数组的指定长度
constexpr basic_stringappend (const_pointer str)
 追加C风格字符串
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
constexpr basic_stringappend (Iterator first, Iterator last)
 追加迭代器范围
constexpr basic_stringappend (std::initializer_list< value_type > ilist)
 追加初始化列表
constexpr basic_stringoperator+= (const basic_string &other)
 追加另一个字符串
constexpr basic_stringoperator+= (basic_string &&other)
 追加移动字符串
constexpr basic_stringoperator+= (const value_type value)
 追加单个字符
constexpr basic_stringoperator+= (const_pointer str)
 追加C风格字符串
constexpr basic_stringoperator+= (std::initializer_list< value_type > ilist)
 追加初始化列表
constexpr basic_stringoperator+= (view_type view)
 追加字符串视图
constexpr basic_stringassign (const basic_string &other)
 赋值另一个字符串
constexpr basic_stringassign (basic_string &&other)
 赋值移动字符串
constexpr basic_stringassign (const_pointer str)
 赋值C风格字符串
constexpr basic_stringassign (const_pointer str, const size_type n)
 赋值字符数组的指定长度
constexpr basic_stringassign (const size_type n, value_type value)
 赋值多个相同字符
template<typename Iterator>
constexpr basic_stringassign (Iterator first, Iterator last)
 赋值迭代器范围
constexpr basic_stringassign (std::initializer_list< value_type > ilist)
 赋值初始化列表
constexpr basic_stringassign (const view_type &view)
 赋值字符串视图
constexpr iterator erase (iterator position) noexcept
 删除指定位置的字符
constexpr basic_stringerase (size_type position=0, size_type n=npos) noexcept
 删除指定范围内的字符
constexpr iterator erase (iterator first, const size_type n) noexcept
 删除指定数量的字符
constexpr iterator erase (iterator first, iterator last) noexcept
 删除迭代器范围
constexpr void resize (size_type n, value_type value)
 调整大小
constexpr void resize (const size_type n)
 调整大小(默认填充0)
constexpr void clear () noexcept
 清空字符串
constexpr void shrink_to_fit ()
 收缩容量以适应当前大小
constexpr basic_string repeat (size_type n) const noexcept
 重复当前字符串n次
constexpr basic_string substr (const size_type off=0, const size_type count=npos) const
 获取子串
constexpr basic_string head (const size_type count=npos) const
 获取头部子串
constexpr basic_string tail (const size_type off=0) const
 获取尾部子串
constexpr view_type view () const noexcept
 获取字符串视图
constexpr view_type view (const size_type off, size_type count=npos) const noexcept
 获取子串视图
constexpr size_type copy (pointer dest, const size_type count, size_type position=0) const
 复制字符到目标缓冲区
constexpr int compare (const basic_string &other) const noexcept
 比较另一个字符串
constexpr int compare (const size_type off, const size_type n, const basic_string &other) const
 比较子串与另一个字符串
constexpr int compare (const size_type off, const size_type n, const basic_string &other, const size_type roff, const size_type count) const
 比较子串与另一个字符串的子串
constexpr int compare (const CharT *str) const noexcept
 比较C风格字符串
constexpr int compare (const view_type &view) const noexcept
 比较字符串视图
constexpr int compare (const size_type off, const size_type n, const CharT *str) const
 比较子串与C风格字符串
constexpr int compare (const size_type off, const size_type n, const CharT *str, size_type count) const
 比较子串与指定长度的字符数组
constexpr int compare_ignore_case (const view_type view) const noexcept
 忽略大小写三路比较
constexpr int compare_ignore_case (const_pointer str) const noexcept
 忽略大小写比较另一个字符串
constexpr int compare_ignore_case (const basic_string &str) const noexcept
 忽略大小写与C风格字符串三路比较
constexpr basic_stringreplace (const size_type position, const size_type n, const basic_string &other)
 替换子串为另一个字符串
constexpr basic_stringreplace (iterator first, iterator last, const basic_string &other)
 替换迭代器范围为另一个字符串
constexpr basic_stringreplace (const size_type position, const size_type n, const_pointer str)
 替换子串为C风格字符串
constexpr basic_stringreplace (iterator first, iterator last, const_pointer str)
 替换迭代器范围为C风格字符串
constexpr basic_stringreplace (const size_type position, const size_type n1, const_pointer str, const size_type n2)
 替换子串为指定长度的字符数组
constexpr basic_stringreplace (iterator first, iterator last, const_pointer str, const size_type n)
 替换迭代器范围为指定长度的字符数组
constexpr basic_stringreplace (const size_type position, const size_type n1, const size_type n2, const value_type value)
 替换子串为多个相同字符
constexpr basic_stringreplace (iterator first, iterator last, const size_type n, const value_type value)
 替换迭代器范围为多个相同字符
constexpr basic_stringreplace (const size_type position1, const size_type n1, const basic_string &str, const size_type position2, const size_type n2=npos)
 替换子串为另一个字符串的子串
template<typename Iterator>
constexpr basic_stringreplace (iterator first, iterator last, Iterator first2, Iterator last2)
 替换迭代器范围为另一个迭代器范围
constexpr void reverse () noexcept
 反转字符串
constexpr size_type find (const basic_string &other, const size_type n=0) const noexcept
 查找子串
constexpr size_type find (const CharT value, const size_type n=0) const noexcept
 查找字符
constexpr size_type find (const CharT *str, const size_type off, const size_type count) const noexcept
 查找指定长度的子串
constexpr size_type find (const CharT *str, const size_type off=0) const noexcept
 查找C风格字符串
constexpr size_type find (const view_type &view, const size_type off, const size_type count) const noexcept
 查找指定长度的字符串视图
constexpr size_type find (const view_type &view, const size_type off=0) const noexcept
 查找字符串视图
constexpr size_type rfind (const basic_string &other, const size_type off=npos) const noexcept
 从后向前查找子串
constexpr size_type rfind (const CharT value, const size_type n=npos) const noexcept
 从后向前查找字符
constexpr size_type rfind (const CharT *str, const size_type off, const size_type n) const noexcept
 从后向前查找指定长度的子串
constexpr size_type rfind (const CharT *str, const size_type off=npos) const noexcept
 从后向前查找C风格字符串
constexpr size_type rfind (const view_type &view, const size_type off, const size_type count) const noexcept
 从后向前查找指定长度的字符串视图
constexpr size_type rfind (const view_type &view, const size_type off=npos) const noexcept
 从后向前查找字符串视图
constexpr size_type find_first_of (const basic_string &other, const size_type off=0) const noexcept
 查找第一个出现在字符集合中的字符
constexpr size_type find_first_of (const CharT value, const size_type off=0) const noexcept
 查找第一个等于指定字符的位置
constexpr size_type find_first_of (const CharT *str, const size_type off, const size_type n) const noexcept
 查找第一个出现在指定字符数组中的字符
constexpr size_type find_first_of (const CharT *str, const size_type off=0) const noexcept
 查找第一个出现在C风格字符串中的字符
constexpr size_type find_first_of (const view_type &view, const size_type off, const size_type n) const noexcept
 查找第一个出现在字符串视图中的字符
constexpr size_type find_first_of (const view_type &view, const size_type off=0) const noexcept
 查找第一个出现在字符串视图中的字符
constexpr size_type find_last_of (const basic_string &other, const size_type off=npos) const noexcept
 查找最后一个出现在字符集合中的字符
constexpr size_type find_last_of (const CharT value, const size_type off=npos) const noexcept
 查找最后一个等于指定字符的位置
constexpr size_type find_last_of (const CharT *str, const size_type off, const size_type n) const noexcept
 查找最后一个出现在指定字符数组中的字符
constexpr size_type find_last_of (const CharT *str, const size_type off=npos) const noexcept
 查找最后一个出现在C风格字符串中的字符
constexpr size_type find_last_of (const view_type &view, const size_type off, const size_type n) const noexcept
 查找最后一个出现在字符串视图中的字符
constexpr size_type find_last_of (const view_type &view, const size_type off=npos) const noexcept
 查找最后一个出现在字符串视图中的字符
constexpr size_type find_first_not_of (const basic_string &other, const size_type off=0) const noexcept
 查找第一个不在字符集合中的字符
constexpr size_type find_first_not_of (const CharT value, const size_type off=0) const noexcept
 查找第一个不等于指定字符的位置
constexpr size_type find_first_not_of (const CharT *str, const size_type off, const size_type n) const noexcept
 查找第一个不在指定字符数组中的字符
constexpr size_type find_first_not_of (const CharT *str, const size_type off=0) const noexcept
 查找第一个不在C风格字符串中的字符
constexpr size_type find_first_not_of (const view_type &view, const size_type off, const size_type n) const noexcept
 查找第一个不在字符串视图中的字符
constexpr size_type find_first_not_of (const view_type &view, const size_type off=0) const noexcept
 查找第一个不在字符串视图中的字符
constexpr size_type find_last_not_of (const basic_string &other, const size_type off=npos) const noexcept
 查找最后一个不在字符集合中的字符
constexpr size_type find_last_not_of (const CharT value, const size_type off=npos) const noexcept
 查找最后一个不等于指定字符的位置
constexpr size_type find_last_not_of (const CharT *str, const size_type off, const size_type n) const noexcept
 查找最后一个不在指定字符数组中的字符
constexpr size_type find_last_not_of (const CharT *str, const size_type off=npos) const noexcept
 查找最后一个不在C风格字符串中的字符
constexpr size_type find_last_not_of (const view_type &view, const size_type off, const size_type n) const noexcept
 查找最后一个不在字符串视图中的字符
constexpr size_type find_last_not_of (const view_type &view, const size_type off=npos) const noexcept
 查找最后一个不在字符串视图中的字符
constexpr size_type find_first_of (const charset &cs, const size_type off=0) const noexcept
 查找第一个出现在 charset 中的字符
constexpr size_type find_last_of (const charset &cs, const size_type off=npos) const noexcept
 查找最后一个出现在 charset 中的字符
constexpr size_type find_first_not_of (const charset &cs, const size_type off=0) const noexcept
 查找第一个不在 charset 中的字符
constexpr size_type find_last_not_of (const charset &cs, const size_type off=npos) const noexcept
 查找最后一个不在 charset 中的字符
constexpr size_type count (value_type value, const size_type position=0) const noexcept
 统计指定字符出现的次数
constexpr bool starts_with (const basic_string &other) const noexcept
 检查是否以另一个字符串开头
constexpr bool starts_with (view_type view) const noexcept
 检查是否以字符串视图开头
constexpr bool starts_with (const value_type value) const noexcept
 检查是否以指定字符开头
constexpr bool starts_with (const_pointer str) const noexcept
 检查是否以C风格字符串开头
constexpr bool ends_with (const basic_string &other) const noexcept
 检查是否以另一个字符串结尾
constexpr bool ends_with (view_type view) const noexcept
 检查是否以字符串视图结尾
constexpr bool ends_with (value_type value) const noexcept
 检查是否以指定字符结尾
constexpr bool ends_with (const_pointer str) const noexcept
 检查是否以C风格字符串结尾
constexpr bool contains (const basic_string &other) const noexcept
 检查是否包含另一个字符串
constexpr bool contains (view_type view) const noexcept
 检查是否包含字符串视图
constexpr bool contains (value_type value) const noexcept
 检查是否包含指定字符
constexpr bool contains (const_pointer str) const noexcept
 检查是否包含C风格字符串
constexpr basic_stringtrim_left () noexcept
 去除左侧空白字符
constexpr basic_stringtrim_right () noexcept
 去除右侧空白字符
constexpr basic_stringtrim () noexcept
 去除两侧空白字符
template<typename Pred>
constexpr basic_stringtrim_left_if (Pred pred)
 根据谓词去除左侧字符
template<typename Pred>
constexpr basic_stringtrim_right_if (Pred pred)
 根据谓词去除右侧字符
constexpr basic_stringtrim_left_if (const charset &cs) noexcept
 根据 charset 去除左侧字符
constexpr basic_stringtrim_right_if (const charset &cs) noexcept
 根据 charset 去除右侧字符
constexpr basic_stringtrim_if (const charset &cs) noexcept
 根据 charset 去除两侧字符
template<typename Predicate>
constexpr basic_stringtrim_if (Predicate pred)
 根据谓词去除两侧字符
constexpr vector< basic_stringsplit (const view_type delimiters, const bool skip_empty=true) const
 分割字符串
constexpr vector< basic_stringsplit (const charset &delimiters, const bool skip_empty=true) const
 使用 charset 分割字符串
constexpr bool equal_to (const basic_string &other) const noexcept
 相等比较
constexpr bool equal_to (const view_type view) const noexcept
 与字符串视图相等比较
constexpr bool equal_to (const CharT *str) const noexcept
 与C风格字符串相等比较
constexpr basic_stringlowercase () noexcept(noexcept(_NEFORCE transform(begin(), end(), begin(), _NEFORCE to_lowercase< CharT >)))
 转换为小写
constexpr basic_stringuppercase () noexcept(noexcept(_NEFORCE transform(begin(), end(), begin(), _NEFORCE to_uppercase< CharT >)))
 转换为大写
constexpr basic_string lowercase () const
 转换为小写
constexpr basic_string uppercase () const
 转换为大写
constexpr void swap (basic_string &other) noexcept
 交换两个字符串
constexpr bool less_than (const basic_string &rhs) const noexcept
 小于比较操作符
constexpr size_t to_hash () const noexcept
 计算哈希值
Public 成员函数 继承自 neforce::icomparable< T >
constexpr bool operator== (const T &rhs) const noexcept(noexcept(derived().equal_to(rhs)))
 相等比较运算符
constexpr bool operator!= (const T &rhs) const noexcept(noexcept(!(derived().equal_to(rhs))))
 不等比较运算符
constexpr bool operator< (const T &rhs) const noexcept(noexcept(derived().less_than(rhs)))
 小于比较运算符
constexpr bool operator> (const T &rhs) const noexcept(noexcept(rhs.less_than(derived())))
 大于比较运算符
constexpr bool operator<= (const T &rhs) const noexcept(noexcept(!(rhs.less_than(derived()))))
 小于等于比较运算符
constexpr bool operator>= (const T &rhs) const noexcept(noexcept(!(derived().less_than(rhs))))
 大于等于比较运算符
Public 成员函数 继承自 neforce::ihashable< T >
constexpr size_t to_ihash () const noexcept(noexcept(derived().to_hash()))
 获取对象的哈希值

静态 Public 成员函数

static constexpr basic_string join (const vector< basic_string > &vec, const view_type delimiter)
 连接字符串
static constexpr basic_string join (const vector< view_type > &vec, const view_type delimiter)
 连接字符串视图

静态 Public 属性

static constexpr size_type npos = string_view::npos
 特殊值,表示未找到或"直到末尾"

详细描述

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
class neforce::basic_string< CharT, Traits, Alloc >

基础字符串模板

模板参数
CharT字符类型
Traits字符特征类型,默认为char_traits<CharT>
Alloc分配器类型,默认为allocator<CharT>

basic_string是一个动态字符序列容器,针对字符串操作进行了优化。 支持小字符串优化(SSO)减少动态分配。

在文件 basic_string.hpp173 行定义.

构造及析构函数说明

◆ basic_string() [1/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( )
inlineconstexpr

默认构造函数

构造一个空字符串。

在文件 basic_string.hpp742 行定义.

◆ basic_string() [2/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( size_type n)
inlineexplicitconstexpr

构造函数,指定大小

参数
n字符数

在文件 basic_string.hpp755 行定义.

◆ basic_string() [3/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( size_type n,
int32_t value )
inlineexplicitconstexpr

构造函数,指定大小和32位整数值

参数
n字符数
value整数值

在文件 basic_string.hpp763 行定义.

◆ basic_string() [4/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( size_type n,
int64_t value )
inlineexplicitconstexpr

构造函数,指定大小和64位整数值

参数
n字符数
value整数值

在文件 basic_string.hpp771 行定义.

◆ basic_string() [5/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( size_type n,
value_type value )
inlineexplicitconstexpr

构造函数,指定大小和填充字符

参数
n字符数
value填充字符

在文件 basic_string.hpp779 行定义.

◆ basic_string() [6/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( const basic_string< CharT, Traits, Alloc > & other)
inlineconstexpr

拷贝构造函数

参数
other源字符串

在文件 basic_string.hpp809 行定义.

◆ basic_string() [7/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( basic_string< CharT, Traits, Alloc > && other)
inlineconstexprnoexcept

移动构造函数

参数
other源字符串

在文件 basic_string.hpp882 行定义.

◆ basic_string() [8/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( view_type view)
inlineconstexpr

从字符串视图构造

参数
view字符串视图

在文件 basic_string.hpp962 行定义.

◆ basic_string() [9/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( view_type view,
const size_type n )
inlineconstexpr

从字符串视图构造(指定长度)

参数
view字符串视图
n字符数

在文件 basic_string.hpp969 行定义.

◆ basic_string() [10/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( const basic_string< CharT, Traits, Alloc > & other,
size_type position )
inlineconstexpr

从子串构造

参数
other源字符串
position起始位置

在文件 basic_string.hpp1027 行定义.

◆ basic_string() [11/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( const basic_string< CharT, Traits, Alloc > & other,
size_type position,
size_type n )
inlineconstexpr

从子串构造(指定长度)

参数
other源字符串
position起始位置
n字符数

在文件 basic_string.hpp1038 行定义.

◆ basic_string() [12/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( const_pointer str)
inlineconstexpr

从C风格字符串构造

参数
strC风格字符串
注解
若源字符串内部包含空字符(\0),构造时会在此处截断。 如需保留内部 NUL 字符,请使用带长度参数的构造函数。

在文件 basic_string.hpp1050 行定义.

◆ basic_string() [13/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( const_pointer str,
const size_type n )
inlineconstexpr

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

参数
str字符指针
n字符数

在文件 basic_string.hpp1057 行定义.

◆ basic_string() [14/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Iterator, enable_if_t<!is_convertible_v< Iterator, value_type >, int > = 0>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( Iterator first,
Iterator last )
inlineconstexpr

从迭代器范围构造

模板参数
Iterator迭代器类型
参数
first起始迭代器
last结束迭代器

在文件 basic_string.hpp1117 行定义.

◆ basic_string() [15/15]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
neforce::basic_string< CharT, Traits, Alloc >::basic_string ( std::initializer_list< value_type > ilist)
inlineconstexpr

从初始化列表构造

参数
ilist初始化列表

在文件 basic_string.hpp1125 行定义.

成员函数说明

◆ append() [1/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( basic_string< CharT, Traits, Alloc > && other)
inlineconstexpr

追加移动字符串

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp1676 行定义.

◆ append() [2/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( basic_string< CharT, Traits, Alloc > && other,
size_type position )
inlineconstexpr

追加移动字符串的子串

参数
other源字符串
position起始位置
返回
自身引用

在文件 basic_string.hpp1687 行定义.

◆ append() [3/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( basic_string< CharT, Traits, Alloc > && other,
size_type position,
size_type n )
inlineconstexpr

追加移动字符串的子串

参数
other源字符串
position起始位置
n字符数
返回
自身引用

在文件 basic_string.hpp1660 行定义.

◆ append() [4/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( const basic_string< CharT, Traits, Alloc > & other)
inlineconstexpr

追加另一个字符串

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp1641 行定义.

被这些函数引用 neforce::basic_string< char >::append().

◆ append() [5/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( const basic_string< CharT, Traits, Alloc > & other,
size_type position )
inlineconstexpr

追加另一个字符串的子串

参数
other源字符串
position起始位置
返回
自身引用

在文件 basic_string.hpp1649 行定义.

◆ append() [6/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( const basic_string< CharT, Traits, Alloc > & other,
size_type position,
size_type n )
inlineconstexpr

追加另一个字符串的子串

参数
other源字符串
position起始位置
n字符数
返回
自身引用

在文件 basic_string.hpp1627 行定义.

◆ append() [7/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( const_pointer str)
inlineconstexpr

追加C风格字符串

参数
strC风格字符串
返回
自身引用
注解
若源字符串内部包含空字符(\0),追加时会在此处截断。 如需保留内部 NUL 字符,请使用带长度参数的 append() 重载。

在文件 basic_string.hpp1757 行定义.

被这些函数引用 neforce::basic_string< char >::append().

◆ append() [8/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( const_pointer str,
size_type n )
inlineconstexpr

追加字符数组的指定长度

参数
str字符指针
n字符数
返回
自身引用

在文件 basic_string.hpp1713 行定义.

◆ append() [9/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( Iterator first,
Iterator last )
inlineconstexpr

追加迭代器范围

模板参数
Iterator迭代器类型
参数
first源起始
last源结束
返回
自身引用

在文件 basic_string.hpp1767 行定义.

◆ append() [10/14]

◆ append() [11/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( std::initializer_list< value_type > ilist)
inlineconstexpr

追加初始化列表

参数
ilist初始化列表
返回
自身引用

在文件 basic_string.hpp1819 行定义.

◆ append() [12/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( value_type value)
inlineconstexpr

追加单个字符

参数
value要追加的字符
返回
自身引用

在文件 basic_string.hpp1618 行定义.

被这些函数引用 neforce::basic_string< char >::append().

◆ append() [13/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( view_type view)
inlineconstexpr

追加字符串视图

参数
view字符串视图
返回
自身引用

在文件 basic_string.hpp1705 行定义.

被这些函数引用 neforce::basic_string< char >::append().

◆ append() [14/14]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::append ( view_type view,
size_type n )
inlineconstexpr

追加字符串视图的指定长度

参数
view字符串视图
n字符数
返回
自身引用

在文件 basic_string.hpp1698 行定义.

被这些函数引用 neforce::basic_string< char >::append().

◆ assign() [1/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( basic_string< CharT, Traits, Alloc > && other)
inlineconstexpr

赋值移动字符串

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp1857 行定义.

◆ assign() [2/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( const basic_string< CharT, Traits, Alloc > & other)
inlineconstexpr

赋值另一个字符串

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp1850 行定义.

◆ assign() [3/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( const size_type n,
value_type value )
inlineconstexpr

赋值多个相同字符

参数
n字符数
value填充字符
返回
自身引用

在文件 basic_string.hpp1883 行定义.

◆ assign() [4/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( const view_type & view)
inlineconstexpr

赋值字符串视图

参数
view字符串视图
返回
自身引用

在文件 basic_string.hpp1913 行定义.

◆ assign() [5/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( const_pointer str)
inlineconstexpr

赋值C风格字符串

参数
strC风格字符串
返回
自身引用

在文件 basic_string.hpp1864 行定义.

◆ assign() [6/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( const_pointer str,
const size_type n )
inlineconstexpr

赋值字符数组的指定长度

参数
str字符指针
n字符数
返回
自身引用

在文件 basic_string.hpp1872 行定义.

◆ assign() [7/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Iterator>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( Iterator first,
Iterator last )
inlineconstexpr

赋值迭代器范围

模板参数
Iterator迭代器类型
参数
first源起始
last源结束
返回
自身引用

在文件 basic_string.hpp1896 行定义.

◆ assign() [8/8]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::assign ( std::initializer_list< value_type > ilist)
inlineconstexpr

赋值初始化列表

参数
ilist初始化列表
返回
自身引用

在文件 basic_string.hpp1906 行定义.

◆ at() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reference neforce::basic_string< CharT, Traits, Alloc >::at ( const size_type n) const
inlinenodiscardconstexprnoexcept

带边界检查的常量访问

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

在文件 basic_string.hpp1336 行定义.

◆ at() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reference neforce::basic_string< CharT, Traits, Alloc >::at ( const size_type n)
inlinenodiscardconstexprnoexcept

带边界检查的访问

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

在文件 basic_string.hpp1329 行定义.

◆ back() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reference neforce::basic_string< CharT, Traits, Alloc >::back ( ) const
inlinenodiscardconstexprnoexcept

常量访问最后一个字符

返回
最后一个字符的常量引用

在文件 basic_string.hpp1369 行定义.

◆ back() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reference neforce::basic_string< CharT, Traits, Alloc >::back ( )
inlinenodiscardconstexprnoexcept

访问最后一个字符

返回
最后一个字符的引用

在文件 basic_string.hpp1360 行定义.

◆ begin() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_iterator neforce::basic_string< CharT, Traits, Alloc >::begin ( ) const
inlinenodiscardconstexprnoexcept

获取常量起始迭代器

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

在文件 basic_string.hpp1160 行定义.

◆ begin() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::begin ( )
inlinenodiscardconstexprnoexcept

获取起始迭代器

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

在文件 basic_string.hpp1148 行定义.

被这些函数引用 neforce::basic_string< char >::lowercase() , 以及 neforce::basic_string< char >::uppercase().

◆ capacity()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
size_type neforce::basic_string< CharT, Traits, Alloc >::capacity ( ) const
inlinenodiscardconstexprnoexcept

获取容量

返回
当前分配的存储可容纳的字符数

在文件 basic_string.hpp1251 行定义.

◆ cbegin()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_iterator neforce::basic_string< CharT, Traits, Alloc >::cbegin ( ) const
inlinenodiscardconstexprnoexcept

获取常量起始迭代器

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

在文件 basic_string.hpp1172 行定义.

◆ cend()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_iterator neforce::basic_string< CharT, Traits, Alloc >::cend ( ) const
inlinenodiscardconstexprnoexcept

获取常量结束迭代器

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

在文件 basic_string.hpp1178 行定义.

◆ compare() [1/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const basic_string< CharT, Traits, Alloc > & other) const
inlinenodiscardconstexprnoexcept

比较另一个字符串

参数
other另一个字符串
返回
比较结果

在文件 basic_string.hpp2180 行定义.

◆ compare() [2/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const CharT * str) const
inlinenodiscardconstexprnoexcept

比较C风格字符串

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

在文件 basic_string.hpp2215 行定义.

◆ compare() [3/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const size_type off,
const size_type n,
const basic_string< CharT, Traits, Alloc > & other ) const
inlinenodiscardconstexpr

比较子串与另一个字符串

参数
off起始偏移
n长度
other另一个字符串
返回
比较结果

在文件 basic_string.hpp2191 行定义.

◆ compare() [4/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const size_type off,
const size_type n,
const basic_string< CharT, Traits, Alloc > & other,
const size_type roff,
const size_type count ) const
inlinenodiscardconstexpr

比较子串与另一个字符串的子串

参数
off起始偏移
n长度
other另一个字符串
roff目标起始偏移
count目标长度
返回
比较结果

在文件 basic_string.hpp2205 行定义.

◆ compare() [5/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const size_type off,
const size_type n,
const CharT * str ) const
inlinenodiscardconstexpr

比较子串与C风格字符串

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

在文件 basic_string.hpp2235 行定义.

◆ compare() [6/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const size_type off,
const size_type n,
const CharT * str,
size_type count ) const
inlinenodiscardconstexpr

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

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

在文件 basic_string.hpp2247 行定义.

◆ compare() [7/7]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare ( const view_type & view) const
inlinenodiscardconstexprnoexcept

比较字符串视图

参数
view字符串视图
返回
比较结果

在文件 basic_string.hpp2224 行定义.

◆ compare_ignore_case() [1/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare_ignore_case ( const basic_string< CharT, Traits, Alloc > & str) const
inlinenodiscardconstexprnoexcept

忽略大小写与C风格字符串三路比较

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

在文件 basic_string.hpp2289 行定义.

◆ compare_ignore_case() [2/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare_ignore_case ( const view_type view) const
inlinenodiscardconstexprnoexcept

忽略大小写三路比较

参数
view要比较的视图
返回
负值(*this < view)、0(相等)、正值(*this > view)

在文件 basic_string.hpp2257 行定义.

◆ compare_ignore_case() [3/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
int neforce::basic_string< CharT, Traits, Alloc >::compare_ignore_case ( const_pointer str) const
inlinenodiscardconstexprnoexcept

忽略大小写比较另一个字符串

参数
str字符串
返回
比较结果

在文件 basic_string.hpp2280 行定义.

◆ copy()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
size_type neforce::basic_string< CharT, Traits, Alloc >::copy ( pointer dest,
const size_type count,
size_type position = 0 ) const
inlineconstexpr

复制字符到目标缓冲区

参数
dest目标缓冲区
count要复制的字符数
position起始位置
返回
实际复制的字符数

在文件 basic_string.hpp2168 行定义.

◆ count()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
size_type neforce::basic_string< CharT, Traits, Alloc >::count ( value_type value,
const size_type position = 0 ) const
inlinenodiscardconstexprnoexcept

统计指定字符出现的次数

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

在文件 basic_string.hpp2619 行定义.

◆ crbegin()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::crbegin ( ) const
inlinenodiscardconstexprnoexcept

获取常量反向起始迭代器

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

在文件 basic_string.hpp1208 行定义.

◆ crend()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::crend ( ) const
inlinenodiscardconstexprnoexcept

获取常量反向结束迭代器

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

在文件 basic_string.hpp1216 行定义.

◆ data() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_pointer neforce::basic_string< CharT, Traits, Alloc >::data ( ) const
inlinenodiscardconstexprnoexcept

获取常量数据指针

返回
指向底层字符数组的常量指针

在文件 basic_string.hpp1393 行定义.

◆ data() [2/2]

◆ empty()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
bool neforce::basic_string< CharT, Traits, Alloc >::empty ( ) const
inlinenodiscardconstexprnoexcept

◆ end() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_iterator neforce::basic_string< CharT, Traits, Alloc >::end ( ) const
inlinenodiscardconstexprnoexcept

获取常量结束迭代器

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

在文件 basic_string.hpp1166 行定义.

◆ end() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::end ( )
inlinenodiscardconstexprnoexcept

获取结束迭代器

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

在文件 basic_string.hpp1154 行定义.

被这些函数引用 neforce::basic_string< char >::lowercase() , 以及 neforce::basic_string< char >::uppercase().

◆ equal_to() [1/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
bool neforce::basic_string< CharT, Traits, Alloc >::equal_to ( const basic_string< CharT, Traits, Alloc > & other) const
inlinenodiscardconstexprnoexcept

相等比较

参数
other另一个字符串
返回
是否相等

在文件 basic_string.hpp2968 行定义.

◆ equal_to() [2/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
bool neforce::basic_string< CharT, Traits, Alloc >::equal_to ( const CharT * str) const
inlinenodiscardconstexprnoexcept

与C风格字符串相等比较

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

在文件 basic_string.hpp2986 行定义.

◆ equal_to() [3/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
bool neforce::basic_string< CharT, Traits, Alloc >::equal_to ( const view_type view) const
inlinenodiscardconstexprnoexcept

与字符串视图相等比较

参数
view字符串视图
返回
是否相等

在文件 basic_string.hpp2977 行定义.

◆ erase() [1/4]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::erase ( iterator first,
const size_type n )
inlineconstexprnoexcept

删除指定数量的字符

参数
first起始位置
n字符数
返回
指向被删除区域之后位置的迭代器

在文件 basic_string.hpp1971 行定义.

◆ erase() [2/4]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::erase ( iterator first,
iterator last )
inlineconstexprnoexcept

删除迭代器范围

参数
first起始位置
last结束位置
返回
指向被删除区域之后位置的迭代器

在文件 basic_string.hpp1985 行定义.

◆ erase() [3/4]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::erase ( iterator position)
inlineconstexprnoexcept

◆ erase() [4/4]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::erase ( size_type position = 0,
size_type n = npos )
inlineconstexprnoexcept

删除指定范围内的字符

参数
position起始位置
n字符数
返回
自身引用

在文件 basic_string.hpp1956 行定义.

◆ front() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reference neforce::basic_string< CharT, Traits, Alloc >::front ( ) const
inlinenodiscardconstexprnoexcept

常量访问第一个字符

返回
第一个字符的常量引用

在文件 basic_string.hpp1351 行定义.

◆ front() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reference neforce::basic_string< CharT, Traits, Alloc >::front ( )
inlinenodiscardconstexprnoexcept

访问第一个字符

返回
第一个字符的引用

在文件 basic_string.hpp1342 行定义.

被这些函数引用 neforce::http::route_trie::insert().

◆ head()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string neforce::basic_string< CharT, Traits, Alloc >::head ( const size_type count = npos) const
inlinenodiscardconstexpr

获取头部子串

参数
count长度
返回
子串

在文件 basic_string.hpp2132 行定义.

◆ insert() [1/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Iterator>
iterator neforce::basic_string< CharT, Traits, Alloc >::insert ( iterator position,
Iterator first,
Iterator last )
inlineconstexpr

插入迭代器范围

模板参数
Iterator迭代器类型
参数
position插入位置
first源起始
last源结束
返回
指向插入起始的迭代器

在文件 basic_string.hpp1499 行定义.

◆ insert() [2/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
iterator neforce::basic_string< CharT, Traits, Alloc >::insert ( iterator position,
value_type value )
inlineconstexpr

插入单个字符

参数
position插入位置
value要插入的字符
返回
指向插入字符的迭代器

在文件 basic_string.hpp1410 行定义.

◆ insert() [3/3]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::insert ( size_type position,
size_type n,
value_type value )
inlineconstexpr

在指定位置插入多个相同字符

参数
position插入位置
n插入数量
value插入字符
返回
自身引用

在文件 basic_string.hpp1448 行定义.

◆ join() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
constexpr basic_string neforce::basic_string< CharT, Traits, Alloc >::join ( const vector< basic_string< CharT, Traits, Alloc > > & vec,
const view_type delimiter )
inlinestaticnodiscardconstexpr

连接字符串

参数
vec字符串向量
delimiter连接符
返回
字符串

将字符串向量中的所有字符串用指定的连接符连接起来。

在文件 basic_string.hpp2905 行定义.

◆ join() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
constexpr basic_string neforce::basic_string< CharT, Traits, Alloc >::join ( const vector< view_type > & vec,
const view_type delimiter )
inlinestaticnodiscardconstexpr

连接字符串视图

参数
vec字符串视图向量
delimiter连接符
返回
字符串

将字符串视图向量中的所有字符串用指定的连接符连接起来。

在文件 basic_string.hpp2938 行定义.

◆ length()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
size_type neforce::basic_string< CharT, Traits, Alloc >::length ( ) const
inlinenodiscardconstexprnoexcept

获取字符串长度

返回
字符串长度

在文件 basic_string.hpp1263 行定义.

被这些函数引用 neforce::http::route_trie::insert().

◆ max_size()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
size_type neforce::basic_string< CharT, Traits, Alloc >::max_size ( ) const
inlinenodiscardconstexprnoexcept

获取最大可能大小

返回
最大长度

在文件 basic_string.hpp1236 行定义.

◆ operator=() [1/5]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::operator= ( basic_string< CharT, Traits, Alloc > && other)
inlineconstexprnoexcept

移动赋值运算符

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp916 行定义.

◆ operator=() [2/5]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::operator= ( const basic_string< CharT, Traits, Alloc > & other)
inlineconstexpr

拷贝赋值运算符

参数
other源字符串
返回
自身引用

在文件 basic_string.hpp836 行定义.

◆ operator=() [3/5]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::operator= ( const_pointer str)
inlineconstexpr

C风格字符串赋值运算符

参数
strC风格字符串
返回
自身引用
注解
若源字符串内部包含空字符(\0),赋值时会在此处截断。 如需保留内部 NUL 字符,请使用带长度参数的 assign() 方法。

在文件 basic_string.hpp1066 行定义.

◆ operator=() [4/5]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::operator= ( std::initializer_list< value_type > ilist)
inlineconstexpr

初始化列表赋值运算符

参数
ilist初始化列表
返回
自身引用

在文件 basic_string.hpp1133 行定义.

◆ operator=() [5/5]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::operator= ( view_type view)
inlineconstexpr

字符串视图赋值运算符

参数
view字符串视图
返回
自身引用

在文件 basic_string.hpp976 行定义.

◆ operator[]() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reference neforce::basic_string< CharT, Traits, Alloc >::operator[] ( const size_type n) const
inlinenodiscardconstexprnoexcept

常量下标访问操作符

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

在文件 basic_string.hpp1319 行定义.

◆ operator[]() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reference neforce::basic_string< CharT, Traits, Alloc >::operator[] ( const size_type n)
inlinenodiscardconstexprnoexcept

下标访问操作符

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

在文件 basic_string.hpp1309 行定义.

◆ push_back()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
void neforce::basic_string< CharT, Traits, Alloc >::push_back ( value_type value)
inlineconstexpr

在末尾插入字符

参数
value要插入的字符

在文件 basic_string.hpp1545 行定义.

被这些函数引用 neforce::codepoint::append_to(), neforce::getline(), neforce::getline(), neforce::bitset< N >::to_string() , 以及 neforce::wcharacter::to_u16string().

◆ rbegin() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::rbegin ( ) const
inlinenodiscardconstexprnoexcept

获取常量反向起始迭代器

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

在文件 basic_string.hpp1196 行定义.

◆ rbegin() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::rbegin ( )
inlinenodiscardconstexprnoexcept

获取反向起始迭代器

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

在文件 basic_string.hpp1184 行定义.

◆ rend() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
const_reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::rend ( ) const
inlinenodiscardconstexprnoexcept

获取常量反向结束迭代器

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

在文件 basic_string.hpp1202 行定义.

◆ rend() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
reverse_iterator neforce::basic_string< CharT, Traits, Alloc >::rend ( )
inlinenodiscardconstexprnoexcept

获取反向结束迭代器

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

在文件 basic_string.hpp1190 行定义.

◆ repeat()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string neforce::basic_string< CharT, Traits, Alloc >::repeat ( size_type n) const
inlinenodiscardconstexprnoexcept

重复当前字符串n次

参数
n重复次数
返回
新字符串

在文件 basic_string.hpp2105 行定义.

◆ reserve()

◆ resize() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
void neforce::basic_string< CharT, Traits, Alloc >::resize ( const size_type n)
inlineconstexpr

调整大小(默认填充0)

参数
n新大小

在文件 basic_string.hpp2039 行定义.

◆ resize() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
void neforce::basic_string< CharT, Traits, Alloc >::resize ( size_type n,
value_type value )
inlineconstexpr

调整大小

参数
n新大小
value填充值

在文件 basic_string.hpp2027 行定义.

被这些函数引用 neforce::basic_string< char >::resize().

◆ size()

◆ split() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
vector< basic_string > neforce::basic_string< CharT, Traits, Alloc >::split ( const charset & delimiters,
const bool skip_empty = true ) const
inlinenodiscardconstexpr

使用 charset 分割字符串

参数
delimiters分隔符字符集
skip_empty是否跳过空字符串
返回
分割后的字符串向量

在文件 basic_string.hpp2861 行定义.

◆ split() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
vector< basic_string > neforce::basic_string< CharT, Traits, Alloc >::split ( const view_type delimiters,
const bool skip_empty = true ) const
inlinenodiscardconstexpr

分割字符串

参数
delimiters分隔符集合
skip_empty是否跳过空字符串
返回
分割后的字符串向量

使用指定的分隔符集合分割字符串,返回子串的字符串向量。

在文件 basic_string.hpp2819 行定义.

◆ substr()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string neforce::basic_string< CharT, Traits, Alloc >::substr ( const size_type off = 0,
const size_type count = npos ) const
inlinenodiscardconstexpr

获取子串

参数
off起始偏移
count长度
返回
子串

在文件 basic_string.hpp2120 行定义.

◆ swap()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
void neforce::basic_string< CharT, Traits, Alloc >::swap ( basic_string< CharT, Traits, Alloc > & other)
inlineconstexprnoexcept

交换两个字符串

参数
other另一个字符串

在文件 basic_string.hpp3030 行定义.

被这些函数引用 neforce::basic_string< char >::shrink_to_fit().

◆ tail()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string neforce::basic_string< CharT, Traits, Alloc >::tail ( const size_type off = 0) const
inlinenodiscardconstexpr

获取尾部子串

参数
off起始偏移
返回
子串

在文件 basic_string.hpp2141 行定义.

◆ trim()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim ( )
inlineconstexprnoexcept

去除两侧空白字符

返回
自身引用

在文件 basic_string.hpp2703 行定义.

◆ trim_if() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_if ( const charset & cs)
inlineconstexprnoexcept

根据 charset 去除两侧字符

参数
cs要移除的字符集
返回
自身引用

在文件 basic_string.hpp2798 行定义.

◆ trim_if() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Predicate>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_if ( Predicate pred)
inlineconstexpr

根据谓词去除两侧字符

模板参数
Predicate谓词类型
参数
pred谓词函数
返回
自身引用

在文件 basic_string.hpp2807 行定义.

◆ trim_left()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_left ( )
inlineconstexprnoexcept

去除左侧空白字符

返回
自身引用

在文件 basic_string.hpp2691 行定义.

◆ trim_left_if() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_left_if ( const charset & cs)
inlineconstexprnoexcept

根据 charset 去除左侧字符

参数
cs要移除的字符集
返回
自身引用

在文件 basic_string.hpp2756 行定义.

◆ trim_left_if() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Pred>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_left_if ( Pred pred)
inlineconstexpr

根据谓词去除左侧字符

模板参数
Pred谓词类型
参数
pred谓词函数
返回
自身引用

在文件 basic_string.hpp2712 行定义.

◆ trim_right()

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_right ( )
inlineconstexprnoexcept

去除右侧空白字符

返回
自身引用

在文件 basic_string.hpp2697 行定义.

◆ trim_right_if() [1/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_right_if ( const charset & cs)
inlineconstexprnoexcept

根据 charset 去除右侧字符

参数
cs要移除的字符集
返回
自身引用

在文件 basic_string.hpp2777 行定义.

◆ trim_right_if() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
template<typename Pred>
basic_string & neforce::basic_string< CharT, Traits, Alloc >::trim_right_if ( Pred pred)
inlineconstexpr

根据谓词去除右侧字符

模板参数
Pred谓词类型
参数
pred谓词函数
返回
自身引用

在文件 basic_string.hpp2735 行定义.

◆ view() [1/2]

◆ view() [2/2]

template<typename CharT, typename Traits = char_traits<CharT>, typename Alloc = allocator<CharT>>
view_type neforce::basic_string< CharT, Traits, Alloc >::view ( const size_type off,
size_type count = npos ) const
inlinenodiscardconstexprnoexcept

获取子串视图

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

在文件 basic_string.hpp2155 行定义.


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