Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sstr::SStringView类 参考

字符串视图 更多...

#include <SString.h>

类 sstr::SStringView 继承关系图:
sstr::SString

class  Iterator
 Unicode 字符迭代器 更多...
 

Public 成员函数

 SStringView () noexcept=default
 
 SStringView (const char *u8str) noexcept
 
virtual ~SStringView ()=default
 
Iterator begin ()
 
Iterator end ()
 
bool null () const
 
bool empty () const
 
size_t len () const
 
virtual size_t size () const
 
const char * data () const
 
int32_t find (const SStringView &str) const
 
int32_t find (const char *u8str) const
 
int32_t findByBytes (const char *bytes) const
 
SString trim () const
 
SString reverse () const
 
SString append (const SStringView &str) const
 
SString append (const char *u8str) const
 
std::vector< SStringsplit (const SStringView &str) const
 
std::vector< SStringsplit (const char *str) const
 
SString substring (size_t begin) const
 
SString substring (size_t begin, size_t len) const
 截取子串 [begin, begin + len - 1]
 
bool endsWith (const SStringView &suffix) const
 字符串是否以某个子串结尾
 
bool endsWith (const std::string_view &suffix) const
 字符串是否以某个子串结尾
 
bool startsWith (const SStringView &prefix) const
 字符串是否以某个子串开头
 
bool startsWith (const std::string_view &prefix) const
 字符串是否以某个子串开头
 
bool isLower () const
 字母是否为全小写
 
bool isUpper () const
 字母是否为全大写
 
SString toLower () const
 创建字母转为全小写的副本
 
SString toUpper () const
 创建字母转为全大写的副本
 
SChar at (size_t index) const
 
std::vector< SChartoChars () const
 
std::string toString () const
 
std::wstring toWString () const
 
std::unique_ptr< wchar_t[]> toCWString () const
 
SChar operator[] (size_t index) const
 
bool operator!= (const SStringView &str) const
 
bool operator!= (const char *u8str) const
 
bool operator== (const SStringView &str) const
 
bool operator== (const char *u8str) const
 
SString operator+ (const SStringView &str) const
 
SString operator+ (const char *u8str) const
 

Protected 属性

char * _data = nullptr
 
size_t _size = 0
 

详细描述

字符串视图

构造及析构函数说明

◆ SStringView() [1/2]

sstr::SStringView::SStringView ( )
defaultnoexcept

◆ SStringView() [2/2]

SStringView::SStringView ( const char * u8str)
explicitnoexcept

◆ ~SStringView()

virtual sstr::SStringView::~SStringView ( )
virtualdefault

成员函数说明

◆ append() [1/2]

SString SStringView::append ( const char * u8str) const

尾加字符串

参数
u8str待尾加字符串
返回
尾加结果字符串
弃用
尾加对象的字符串编码必须也是 UTF-8,否则不建议使用

引用了 sstr::SString::_capacity, _data, _size, BLOCK_SIZE , 以及 len().

◆ append() [2/2]

SString SStringView::append ( const SStringView & str) const
nodiscard

尾加字符串

参数
str待尾加字符串
返回
尾加结果字符串

引用了 sstr::SString::_capacity, _data, _size , 以及 BLOCK_SIZE.

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

◆ at()

SChar SStringView::at ( size_t index) const
nodiscard

◆ begin()

SStringView::IteratorType SStringView::begin ( )

引用了 _data , 以及 _size.

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

◆ data()

const char * SStringView::data ( ) const
nodiscard

获取缓冲区指针

返回
缓冲区指针

引用了 _data.

被这些函数引用 find(), sese::text::AbstractStringBuffer::insertAt(), sstr::SString::operator+=() , 以及 sese::io::OutputStream::write().

◆ empty()

bool SStringView::empty ( ) const
nodiscard

字符串是否为空

返回值
true字符串为空
false字符串不为空

引用了 _data.

◆ end()

SString::IteratorType SStringView::end ( )

引用了 _data , 以及 _size.

◆ endsWith() [1/2]

bool SStringView::endsWith ( const SStringView & suffix) const
nodiscard

字符串是否以某个子串结尾

参数
suffix匹配子串
返回
结果

引用了 _data , 以及 _size.

◆ endsWith() [2/2]

bool SStringView::endsWith ( const std::string_view & suffix) const
nodiscard

字符串是否以某个子串结尾

参数
suffix匹配子串
返回
结果

引用了 _data , 以及 _size.

◆ find() [1/2]

int32_t SStringView::find ( const char * u8str) const

查找字符串,索引单位是字数

参数
u8str子串
返回
子串位置

引用了 _data, sstr::BM(), count() , 以及 sstr::getSizeFromUTF8Char().

◆ find() [2/2]

int32_t SStringView::find ( const SStringView & str) const
nodiscard

查找字符串,索引单位是字数

参数
str子串
返回
子串位置

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

被这些函数引用 find().

◆ findByBytes()

int32_t SStringView::findByBytes ( const char * bytes) const

查找字节串,索引单位是字节

参数
bytes子串
返回
子串位置

引用了 _data , 以及 sstr::BM().

◆ isLower()

bool SStringView::isLower ( ) const
nodiscard

字母是否为全小写

引用了 _data , 以及 _size.

◆ isUpper()

bool SStringView::isUpper ( ) const
nodiscard

字母是否为全大写

引用了 _data , 以及 _size.

◆ len()

size_t SStringView::len ( ) const
nodiscard

◆ null()

bool SStringView::null ( ) const
nodiscard

data 是否为 nullptr

返回值
true
false

引用了 _data.

◆ operator!=() [1/2]

bool SStringView::operator!= ( const char * u8str) const

引用了 _data.

◆ operator!=() [2/2]

bool SStringView::operator!= ( const SStringView & str) const

引用了 _data.

◆ operator+() [1/2]

SString SStringView::operator+ ( const char * u8str) const

引用了 append().

◆ operator+() [2/2]

SString SStringView::operator+ ( const SStringView & str) const

引用了 append().

◆ operator==() [1/2]

bool SStringView::operator== ( const char * u8str) const

引用了 _data.

◆ operator==() [2/2]

bool SStringView::operator== ( const SStringView & str) const

引用了 _data.

◆ operator[]()

SChar SStringView::operator[] ( size_t index) const

引用了 at().

◆ reverse()

SString SStringView::reverse ( ) const
nodiscard

反转字符串

返回
反转后对象

引用了 _data, _size, BLOCK_SIZE , 以及 sstr::getSizeFromUTF8Char().

◆ size()

size_t SStringView::size ( ) const
nodiscardvirtual

获取字符串字节数

返回
字符串字节数

sstr::SString 重载.

引用了 _data , 以及 sstr::getByteLengthFromUTF8String().

被这些函数引用 sstr::SString::operator+=(), split(), startsWith(), toCWString() , 以及 sese::io::OutputStream::write().

◆ split() [1/2]

std::vector< SString > SStringView::split ( const char * str) const

切割字符串

参数
str切割标识符
返回
切割结果

引用了 _data, sstr::BM(), sstr::SString::fromUTF8(), sstr::getByteLengthFromUTF8String() , 以及 size().

◆ split() [2/2]

std::vector< SString > SStringView::split ( const SStringView & str) const
nodiscard

切割字符串

参数
str切割标识符
返回
切割结果

引用了 _data , 以及 split().

被这些函数引用 split().

◆ startsWith() [1/2]

bool SStringView::startsWith ( const SStringView & prefix) const
nodiscard

字符串是否以某个子串开头

参数
prefix匹配子串
返回
结果

引用了 _data, _size , 以及 size().

◆ startsWith() [2/2]

bool SStringView::startsWith ( const std::string_view & prefix) const
nodiscard

字符串是否以某个子串开头

参数
prefix匹配子串
返回
结果

引用了 _data , 以及 _size.

◆ substring() [1/2]

SString SStringView::substring ( size_t begin) const
nodiscard

截取子串[begin, len - 1]

参数
begin起始字符串索引
返回
子串

引用了 sstr::SString::_capacity, _data, _size, at(), begin() , 以及 BLOCK_SIZE.

◆ substring() [2/2]

SString SStringView::substring ( size_t begin,
size_t len ) const
nodiscard

截取子串 [begin, begin + len - 1]

参数
begin起始字符索引
len截取长度
返回
子串

引用了 sstr::SString::_capacity, _data, _size, at(), begin(), BLOCK_SIZE, count(), sstr::getSizeFromUTF8Char() , 以及 len().

◆ toChars()

std::vector< SChar > SStringView::toChars ( ) const
nodiscard

◆ toCWString()

std::unique_ptr< wchar_t[]> SStringView::toCWString ( ) const
nodiscard

◆ toLower()

SString SStringView::toLower ( ) const
nodiscard

创建字母转为全小写的副本

引用了 _data, _size , 以及 toLower().

被这些函数引用 toLower().

◆ toString()

std::string SStringView::toString ( ) const
nodiscard

引用了 _data.

◆ toUpper()

SString SStringView::toUpper ( ) const
nodiscard

创建字母转为全大写的副本

引用了 _data, _size , 以及 toUpper().

被这些函数引用 toUpper().

◆ toWString()

std::wstring SStringView::toWString ( ) const
nodiscard

引用了 toCWString().

◆ trim()

SString SStringView::trim ( ) const
nodiscard

除去字符串两端空格

注解
注意是空格
返回
处理后对象

引用了 _data, _size , 以及 BLOCK_SIZE.

类成员变量说明

◆ _data

◆ _size


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