NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::string_builder类 参考

延迟拼接的字符串构建器 更多...

#include <string_builder.hpp>

Public 成员函数

 string_builder ()=default
 默认构造函数
void reserve_pieces (const size_t n)
 预留片段容量
void reserve (const size_t n)
 预留输出总大小
string_builderappend (const string_view sv)
 追加字符串视图
string_builderappend (const string &str)
 追加字符串
string_builderappend (const char *str)
 追加 C 风格字符串
string_builderappend (const char c)
 追加单个字符
template<typename T, typename P = package_t<T>, enable_if_t< is_packaged_v< T > &&is_base_of_v< istringify< P >, P >, int > = 0>
string_builderappend (const T &value)
 追加任意可转为字符串的值
template<typename T, enable_if_t< is_base_of_v< istringify< T >, T >, int > = 0>
string_builderappend (const T &value)
 追加任意可转为字符串的值
string build () const
 构建字符串
 operator string () const
 隐式转换为字符串
size_t size () const noexcept
 当前总字符数
bool empty () const noexcept
 是否为空
void clear () noexcept
 清空所有已收集的片段

详细描述

延迟拼接的字符串构建器

收集字符串片段,在调用 build() 时一次性分配内存并拼接。

警告
调用者必须保证传入的 string_view 和 const char* 参数在 build() 调用之前保持有效。

在文件 string_builder.hpp27 行定义.

成员函数说明

◆ append() [1/6]

string_builder & neforce::string_builder::append ( const char * str)
inline

追加 C 风格字符串

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

在文件 string_builder.hpp69 行定义.

引用了 append() , 以及 string_builder().

被这些函数引用 append().

◆ append() [2/6]

string_builder & neforce::string_builder::append ( const char c)
inline

追加单个字符

参数
c字符
返回
自身引用

在文件 string_builder.hpp76 行定义.

引用了 string_builder().

◆ append() [3/6]

string_builder & neforce::string_builder::append ( const string & str)
inline

追加字符串

参数
str字符串
返回
自身引用

在文件 string_builder.hpp62 行定义.

引用了 append(), string_builder() , 以及 neforce::basic_string< CharT, Traits, Alloc >::view().

被这些函数引用 append().

◆ append() [4/6]

string_builder & neforce::string_builder::append ( const string_view sv)
inline

追加字符串视图

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

在文件 string_builder.hpp51 行定义.

引用了 neforce::basic_string_view< CharT, Traits >::size() , 以及 string_builder().

◆ append() [5/6]

template<typename T, enable_if_t< is_base_of_v< istringify< T >, T >, int > = 0>
string_builder & neforce::string_builder::append ( const T & value)
inline

追加任意可转为字符串的值

模板参数
Tistringify<T> 子类类型
参数
value要追加的值
返回
自身引用

在文件 string_builder.hpp105 行定义.

引用了 size() , 以及 string_builder().

◆ append() [6/6]

template<typename T, typename P = package_t<T>, enable_if_t< is_packaged_v< T > &&is_base_of_v< istringify< P >, P >, int > = 0>
string_builder & neforce::string_builder::append ( const T & value)
inline

追加任意可转为字符串的值

模板参数
T支持包装类型的基本类型
参数
value要追加的值
返回
自身引用

在文件 string_builder.hpp91 行定义.

引用了 size(), string_builder() , 以及 neforce::to_string().

◆ build()

string neforce::string_builder::build ( ) const
inlinenodiscard

构建字符串

返回
拼接后的字符串

在文件 string_builder.hpp116 行定义.

引用了 neforce::basic_string< CharT, Traits, Alloc >::append(), neforce::max() , 以及 neforce::basic_string< CharT, Traits, Alloc >::reserve().

被这些函数引用 neforce::concatenate() , 以及 operator string().

◆ empty()

bool neforce::string_builder::empty ( ) const
inlinenodiscardnoexcept

是否为空

返回
无任何片段时返回 true

在文件 string_builder.hpp142 行定义.

◆ operator string()

neforce::string_builder::operator string ( ) const
inlinenodiscard

隐式转换为字符串

返回
拼接后的字符串

在文件 string_builder.hpp130 行定义.

引用了 build().

◆ reserve()

void neforce::string_builder::reserve ( const size_t n)
inline

预留输出总大小

参数
n预计的总字符数

在文件 string_builder.hpp44 行定义.

◆ reserve_pieces()

void neforce::string_builder::reserve_pieces ( const size_t n)
inline

预留片段容量

参数
n预计的片段数量

在文件 string_builder.hpp38 行定义.

◆ size()

size_t neforce::string_builder::size ( ) const
inlinenodiscardnoexcept

当前总字符数

返回
已收集片段的总长度

在文件 string_builder.hpp136 行定义.

被这些函数引用 append().


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