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

基础字符特征模板 更多...

#include <char_traits.hpp>

类 base_char_traits< CharT, IntT > 继承关系图:
[图例]

Public 类型

using char_type = CharT
 字符类型
using int_type = IntT
 整数类型

静态 Public 成员函数

static constexpr char_typecopy (char_type *dest, const char_type *srcs, const size_t count) noexcept
 复制字符序列
static constexpr char_typemove (char_type *dest, const char_type *srcs, const size_t count) noexcept
 移动字符序列
static NEFORCE_NODISCARD constexpr int compare (const char_type *lhs, const char_type *rhs, size_t count) noexcept
 比较两个字符序列
static NEFORCE_NODISCARD constexpr size_t length (const char_type *str) noexcept
 计算字符串长度
static NEFORCE_NODISCARD constexpr const char_typefind (const char_type *str, const size_t count, const char_type target) noexcept
 在字符序列中查找指定字符
static constexpr char_typeassign (char_type *const str, const size_t count, const char_type chr) noexcept
 将字符序列中的每个字符设置为指定值
static constexpr void assign (char_type &lhs, const char_type rhs) noexcept
 赋值单个字符
static NEFORCE_NODISCARD constexpr bool eq (const char_type lhs, const char_type rhs) noexcept
 相等比较
static NEFORCE_NODISCARD constexpr bool lt (const char_type lhs, const char_type rhs) noexcept
 小于比较
static NEFORCE_NODISCARD constexpr int_type not_eof (const int_type rsc) noexcept
 如果不是EOF则返回原值,否则返回0
static NEFORCE_NODISCARD constexpr int_type eof () noexcept
 返回EOF值

详细描述

template<typename CharT, typename IntT>
struct base_char_traits< CharT, IntT >

基础字符特征模板

模板参数
CharT字符类型
IntT整数类型

提供字符类型的基本操作接口,包括复制、移动、比较、查找等。 作为具体字符特征特化的基类。

在文件 char_traits.hpp32 行定义.

成员函数说明

◆ assign() [1/2]

template<typename CharT, typename IntT>
constexpr void base_char_traits< CharT, IntT >::assign ( char_type & lhs,
const char_type rhs )
inlinestaticconstexprnoexcept

赋值单个字符

参数
lhs左值引用
rhs右值

在文件 char_traits.hpp111 行定义.

◆ assign() [2/2]

◆ compare()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr int base_char_traits< CharT, IntT >::compare ( const char_type * lhs,
const char_type * rhs,
size_t count )
inlinestaticconstexprnoexcept

比较两个字符序列

参数
lhs左序列
rhs右序列
count要比较的字符数
返回
负值(lhs < rhs)、0(相等)、正值(lhs > rhs)

在文件 char_traits.hpp70 行定义.

引用了 count() , 以及 string_compare().

被这些函数引用 basic_string< char >::ends_with(), basic_string< char >::ends_with(), basic_string< char >::starts_with() , 以及 basic_string< char >::starts_with().

◆ copy()

template<typename CharT, typename IntT>
constexpr char_type * base_char_traits< CharT, IntT >::copy ( char_type * dest,
const char_type * srcs,
const size_t count )
inlinestaticconstexprnoexcept

◆ eof()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr int_type base_char_traits< CharT, IntT >::eof ( )
inlinestaticconstexprnoexcept

返回EOF值

返回
EOF值

在文件 char_traits.hpp142 行定义.

被这些函数引用 not_eof().

◆ eq()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr bool base_char_traits< CharT, IntT >::eq ( const char_type lhs,
const char_type rhs )
inlinestaticconstexprnoexcept

相等比较

参数
lhs左字符
rhs右字符
返回
是否相等

在文件 char_traits.hpp119 行定义.

被这些函数引用 basic_string< char >::ends_with() , 以及 basic_string< char >::starts_with().

◆ find()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr const char_type * base_char_traits< CharT, IntT >::find ( const char_type * str,
const size_t count,
const char_type target )
inlinestaticconstexprnoexcept

在字符序列中查找指定字符

参数
str字符序列
count序列长度
target要查找的字符
返回
指向第一个匹配字符的指针,未找到则返回nullptr

在文件 char_traits.hpp90 行定义.

引用了 count() , 以及 string_find().

◆ length()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr size_t base_char_traits< CharT, IntT >::length ( const char_type * str)
inlinestaticconstexprnoexcept

计算字符串长度

参数
str以空字符结尾的字符串
返回
字符串长度(不含空字符)

在文件 char_traits.hpp79 行定义.

引用了 string_length().

被这些函数引用 basic_string< char >::append(), basic_string< char >::basic_string(), basic_string< char >::operator=(), basic_string< char >::replace() , 以及 basic_string< char >::replace().

◆ lt()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr bool base_char_traits< CharT, IntT >::lt ( const char_type lhs,
const char_type rhs )
inlinestaticconstexprnoexcept

小于比较

参数
lhs左字符
rhs右字符
返回
是否lhs < rhs

在文件 char_traits.hpp127 行定义.

◆ move()

template<typename CharT, typename IntT>
constexpr char_type * base_char_traits< CharT, IntT >::move ( char_type * dest,
const char_type * srcs,
const size_t count )
inlinestaticconstexprnoexcept

移动字符序列

参数
dest目标地址
srcs源地址
count要移动的字符数
返回
dest指针

在文件 char_traits.hpp58 行定义.

引用了 count() , 以及 memory_move().

被这些函数引用 basic_string< char >::erase(), basic_string< char >::erase(), basic_string< char >::insert(), basic_string< char >::insert(), basic_string< char >::reserve() , 以及 basic_string< char >::shrink_to_fit().

◆ not_eof()

template<typename CharT, typename IntT>
NEFORCE_NODISCARD constexpr int_type base_char_traits< CharT, IntT >::not_eof ( const int_type rsc)
inlinestaticconstexprnoexcept

如果不是EOF则返回原值,否则返回0

参数
rsc输入值
返回
非EOF值或0

在文件 char_traits.hpp134 行定义.

引用了 eof().


该结构体的文档由以下文件生成: