acl
3.5.3.0
|
#include <string.hpp>
Public 成员函数 | |
string (size_t n, bool bin) | |
string (size_t n) | |
string (void) | |
string (const string &s) | |
string (const char *s) | |
string (const void *s, size_t n) | |
string (int fd, size_t max, size_t n) | |
virtual | ~string (void) |
string & | set_bin (bool bin) |
string & | set_max (int max) |
bool | get_bin () const |
int | get_max (void) const |
char | operator[] (size_t n) const |
char | operator[] (int n) const |
char & | operator[] (size_t n) |
char & | operator[] (int n) |
string & | operator= (const char *s) |
string & | operator= (const string &s) |
string & | operator= (const string *s) |
string & | operator= (const std::string &s) |
string & | operator= (const std::string *s) |
string & | operator= (long long int) |
string & | operator= (unsigned long long int) |
string & | operator= (char n) |
string & | operator= (unsigned char n) |
string & | operator= (long n) |
string & | operator= (unsigned long n) |
string & | operator= (int n) |
string & | operator= (unsigned int n) |
string & | operator= (short n) |
string & | operator= (unsigned short n) |
string & | operator+= (const char *s) |
string & | operator+= (const string &s) |
string & | operator+= (const string *s) |
string & | operator+= (const std::string &s) |
string & | operator+= (const std::string *s) |
string & | operator+= (long long int n) |
string & | operator+= (unsigned long long int n) |
string & | operator+= (long n) |
string & | operator+= (unsigned long n) |
string & | operator+= (int n) |
string & | operator+= (unsigned int n) |
string & | operator+= (short n) |
string & | operator+= (unsigned short n) |
string & | operator+= (char n) |
string & | operator+= (unsigned char n) |
string & | operator<< (const string &s) |
string & | operator<< (const string *s) |
string & | operator<< (const std::string &s) |
string & | operator<< (const std::string *s) |
string & | operator<< (const char *s) |
string & | operator<< (long long int n) |
string & | operator<< (unsigned long long int n) |
string & | operator<< (long n) |
string & | operator<< (unsigned long n) |
string & | operator<< (int n) |
string & | operator<< (unsigned int n) |
string & | operator<< (short n) |
string & | operator<< (unsigned short n) |
string & | operator<< (char n) |
string & | operator<< (unsigned char n) |
size_t | operator>> (string *s) |
size_t | operator>> (string &s) |
size_t | operator>> (std::string *s) |
size_t | operator>> (std::string &s) |
size_t | operator>> (long long int &) |
size_t | operator>> (unsigned long long int &) |
size_t | operator>> (int &n) |
size_t | operator>> (unsigned int &n) |
size_t | operator>> (short &n) |
size_t | operator>> (unsigned short &n) |
size_t | operator>> (char &n) |
size_t | operator>> (unsigned char &n) |
bool | operator== (const string &s) const |
bool | operator== (const string *s) const |
bool | operator== (const char *s) const |
bool | operator!= (const string &s) const |
bool | operator!= (const string *s) const |
bool | operator!= (const char *s) const |
bool | operator< (const string &s) const |
bool | operator> (const string &s) const |
operator const char * () const | |
operator const void * () const | |
string & | push_back (char ch) |
bool | equal (const string &s, bool case_sensitive=true) const |
bool | begin_with (const char *s, bool case_sensitive=true) const |
bool | begin_with (const char *s, size_t len, bool case_sensitive=true) const |
bool | begin_with (const string &s, bool case_sensitive=true) const |
bool | begin_with (const void *v, size_t len) const |
bool | end_with (const char *s, bool case_sensitive=true) const |
bool | end_with (const char *s, size_t len, bool case_sensitive=true) const |
bool | end_with (const string &s, bool case_sensitive=true) const |
bool | end_with (const void *v, size_t len) const |
int | compare (const string &s) const |
int | compare (const string *s) const |
int | compare (const char *s, bool case_sensitive=true) const |
int | compare (const void *ptr, size_t len) const |
int | ncompare (const char *s, size_t len, bool case_sensitive=true) const |
int | rncompare (const char *s, size_t len, bool case_sensitive=true) const |
int | find_blank_line (int *left_count=NULL, string *buf=NULL) |
string & | find_reset (void) |
int | find (char n) const |
char * | find (const char *needle, bool case_sensitive=true) const |
char * | rfind (const char *needle, bool case_sensitive=true) const |
string | left (size_t n) |
string | right (size_t n) |
size_t | scan_buf (void *buf, size_t size, bool move=false) |
bool | scan_line (string &out, bool nonl=true, size_t *n=NULL, bool move=false) |
size_t | scan_move () |
char * | buf_end (void) |
void * | buf () const |
char * | c_str () const |
size_t | length () const |
size_t | size () const |
size_t | capacity () const |
bool | empty () const |
ACL_VSTRING * | vstring (void) const |
string & | set_offset (size_t n) |
string & | space (size_t n) |
std::list< string > & | split (const char *sep, bool quoted=false) |
std::vector< string > & | split2 (const char *sep, bool quoted=false) |
std::pair< string, string > & | split_nameval (void) |
string & | copy (const char *ptr) |
string & | copy (const void *ptr, size_t len) |
string & | memmove (const char *src) |
string & | memmove (const char *src, size_t len) |
string & | append (const string &s) |
string & | append (const string *s) |
string & | append (const char *s) |
string & | append (const void *ptr, size_t len) |
string & | prepend (const char *s) |
string & | prepend (const void *ptr, size_t len) |
string & | insert (size_t start, const void *ptr, size_t len) |
string & | format (const char *fmt,...) ACL_CPP_PRINTF(2 |
string string & | vformat (const char *fmt, va_list ap) |
string & | format_append (const char *fmt,...) ACL_CPP_PRINTF(2 |
string string & | vformat_append (const char *fmt, va_list ap) |
string & | replace (char from, char to) |
string & | truncate (size_t n) |
string & | strip (const char *needle, bool each=false) |
string & | trim_left_space () |
string & | trim_right_space () |
string & | trim_space () |
string & | trim_left_line () |
string & | trim_right_line () |
string & | trim_line () |
string & | clear () |
string & | lower (void) |
string & | upper (void) |
size_t | substr (string &out, size_t p=0, size_t len=0) const |
string & | base64_encode (void) |
string & | base64_encode (const void *ptr, size_t len) |
string & | base64_decode (void) |
string & | base64_decode (const char *s) |
string & | base64_decode (const void *ptr, size_t len) |
string & | url_encode (const char *s, dbuf_pool *dbuf=NULL) |
string & | url_decode (const char *s, dbuf_pool *dbuf=NULL) |
string & | hex_encode (const void *s, size_t len) |
string & | hex_decode (const char *s, size_t len) |
string & | basename (const char *path) |
string & | dirname (const char *path) |
template<typename T > | |
string | operator+ (T v) |
静态 Public 成员函数 | |
static string & | parse_int (int n) |
static string & | parse_int (unsigned int n) |
static string & | parse_int64 (long long int n) |
static string & | parse_int64 (unsigned long long int n) |
该类为字符串处理类,支持大部分 std::string 中的功能,同时支持其不支持的一些 功能;该类内部自动保证最后一个字符为 \0
在文件 string.hpp 第 20 行定义.
acl::string::string | ( | size_t | n, |
bool | bin | ||
) |
构造函数
n | {size_t} 初始时分配的内存大小 |
bin | {bool} 是否以二进制方式构建缓冲区对象,该值为 true 时, 则当调用 += int|int64|short|char 或调用 << int|int64|short|char 时,则按二进制方式处理,否则按文本方式处理 |
|
explicit |
acl::string::string | ( | void | ) |
acl::string::string | ( | const string & | s | ) |
构造函数
s | {const string&} 源字符串对象,初始化后的类对象内部自动复制 该字符串 |
acl::string::string | ( | const char * | s | ) |
构造函数
s | {const char*} 内部自动用该字符串初始化类对象,s 必须是 以 \0 结尾 |
acl::string::string | ( | const void * | s, |
size_t | n | ||
) |
构造函数
s | {const char*} 源缓冲内容 |
n | {size_t} s 缓冲区数据长度 |
acl::string::string | ( | int | fd, |
size_t | max, | ||
size_t | n | ||
) |
|
virtual |
将指定字符串添加在当前对象数据缓冲区数据的尾部
s | {const string&} 源数据对象引用 |
将指定字符串添加在当前对象数据缓冲区数据的尾部
s | {const string&} 源数据对象指针 |
string& acl::string::append | ( | const char * | s | ) |
将指定字符串添加在当前对象数据缓冲区数据的尾部
s | {const string&} 源数据对象指针 |
string& acl::string::append | ( | const void * | ptr, |
size_t | len | ||
) |
将指定缓冲区中的数据添加在当前对象数据缓冲区数据的尾部
ptr | {const void*} 源数据对象指针 |
len | {size_t} ptr 数据长度 |
string& acl::string::base64_decode | ( | void | ) |
如果当前对象的缓冲区中的数据是经 base64 编码的,则此函数将这些 数据进行解码
string& acl::string::base64_decode | ( | const char * | s | ) |
将输入的 base64 编码的数据进行解码并存入当前对象的缓冲区中
s | {const char*} 经 base64 编码的源数据 |
string& acl::string::base64_decode | ( | const void * | ptr, |
size_t | len | ||
) |
将输入的 base64 编码的数据进行解码并存入当前对象的缓冲区中
ptr | {const void*} 经 base64 编码的源数据 |
len | {size_t} ptr 数据长度 |
string& acl::string::base64_encode | ( | void | ) |
将当前对象的数据缓冲区中的数据进行 base64 转码
string& acl::string::base64_encode | ( | const void * | ptr, |
size_t | len | ||
) |
将输入的源数据进行 base64 转码并存入当前对象的缓冲区中
ptr | {const void*} 源数据的地址 |
len | {size_t} 源数据长度 |
string& acl::string::basename | ( | const char * | path | ) |
从文件全路径中提取文件名
path | {const char*} 文件全路径字符串,非空字符串 |
bool acl::string::begin_with | ( | const char * | s, |
bool | case_sensitive = true |
||
) | const |
检查当前 string 对象是否以指定的字符串开始
s | {const char*} |
case_sensitive | {bool} 是否区分大小写 |
bool acl::string::begin_with | ( | const char * | s, |
size_t | len, | ||
bool | case_sensitive = true |
||
) | const |
bool acl::string::begin_with | ( | const string & | s, |
bool | case_sensitive = true |
||
) | const |
bool acl::string::begin_with | ( | const void * | v, |
size_t | len | ||
) | const |
void* acl::string::buf | ( | ) | const |
返回当前对象缓冲区的起始地址
char* acl::string::buf_end | ( | void | ) |
返回当前对象缓冲区中第一个不含数据的尾部地址
char* acl::string::c_str | ( | ) | const |
以字符串方式返回当前对象缓冲区的起始地址
被这些函数引用 acl::deserialize() , 以及 acl::redis_pipeline_channel::get_addr().
size_t acl::string::capacity | ( | ) | const |
返回当前对象的缓冲区的空间长度,该值 >= 缓冲区内数据长度
string& acl::string::clear | ( | ) |
清空当前对象的数据缓冲区
int acl::string::compare | ( | const string & | s | ) | const |
比较两个字符串对象的内容是否相同(区分大小写)
s | {const string&} 输入的字符串对象的引用 |
int acl::string::compare | ( | const string * | s | ) | const |
比较两个字符串对象的内容是否相同(区分大小写)
s | {const string&} 输入的字符串对象的指针 |
int acl::string::compare | ( | const char * | s, |
bool | case_sensitive = true |
||
) | const |
比较两个字符串的内容是否相同
s | {const string&} 输入的字符串对象的引用 |
case_sensitive | {bool} 为 true 表示区分大小写 |
int acl::string::compare | ( | const void * | ptr, |
size_t | len | ||
) | const |
比较当前对象的缓冲区内容是否与所给的缓冲区的内容相同
ptr | {const void*} 输入的缓冲区地址 |
len | {size_t} ptr 的缓冲区内数据长度 |
< 0 :当前对象缓冲内容小于输入的内容0:当前对象缓冲区内容大于输入的内容;
string& acl::string::copy | ( | const char * | ptr | ) |
将字符串拷贝到当前对象的缓冲区中
ptr | {const char*} 源字符串地址,需以 '\0' 结束 |
string& acl::string::copy | ( | const void * | ptr, |
size_t | len | ||
) |
将源数据的定长数据拷贝至当前对象的缓冲区中
ptr | {const void*} 源数据地址 |
len | {size_t} ptr 源数据长度 |
string& acl::string::dirname | ( | const char * | path | ) |
从文件全路径中提取文件所在目录
path | {const char*} 文件全路径字符串,非空字符串 |
bool acl::string::empty | ( | ) | const |
判断当前对象的缓冲区内数据长度是否为 0
bool acl::string::end_with | ( | const char * | s, |
bool | case_sensitive = true |
||
) | const |
检查当前 string 对象是否以指定的字符串结束
s | {const char*} |
case_sensitive | {bool} 是否区分大小写 |
bool acl::string::end_with | ( | const char * | s, |
size_t | len, | ||
bool | case_sensitive = true |
||
) | const |
bool acl::string::end_with | ( | const string & | s, |
bool | case_sensitive = true |
||
) | const |
bool acl::string::end_with | ( | const void * | v, |
size_t | len | ||
) | const |
bool acl::string::equal | ( | const string & | s, |
bool | case_sensitive = true |
||
) | const |
比较两个字符串对象的内容是否相同(区分大小写)
s | {const string&} 输入的字符串对象的引用 |
case_sensitive | {bool} 为 true 表示区分大小写 |
int acl::string::find | ( | char | n | ) | const |
查找指定字符在当前对象缓冲区的位置(下标从 0 开始)
n | {char} 要查找的有符号字符 |
char* acl::string::find | ( | const char * | needle, |
bool | case_sensitive = true |
||
) | const |
查找指定字符串在当前对象缓冲区的起始位置(下标从 0 开始)
needle | {const char*} 要查找的有符号字符串 |
case_sensitive | {bool} 为 true 表示区分大小写 |
int acl::string::find_blank_line | ( | int * | left_count = NULL , |
string * | buf = NULL |
||
) |
在当前字符串缓冲区中查找空行的位置,可以循环调用本方法以获得所有的 符合条件的内容
left_count | {int*} 当该指针非空时存储当前字符串剩余的数据长度 |
buf | {string*} 当找到空行时,则将上一次空行(不含该空行)和 本次空行(包含该空行)之间的数据存放于该缓冲区内,注:内部并不负责 清空该缓冲区,因为采用数据追加方式 |
string& acl::string::find_reset | ( | void | ) |
重置内部查询状态,当需要重新开始调用 find_blank_line 时需要调用本 方法以重置内部查询状态
string& acl::string::format | ( | const char * | fmt, |
... | |||
) |
带格式方式的添加数据(类似于 sprintf 接口方式)
fmt | {const char*} 格式字符串 |
... | 变参数据 |
string& acl::string::format_append | ( | const char * | fmt, |
... | |||
) |
带格式方式在当前对象的尾部添加数据
fmt | {const char*} 格式字符串 |
... | 变参数据 |
bool acl::string::get_bin | ( | ) | const |
判断当前字符串类对象是否为二进制处理方式
int acl::string::get_max | ( | void | ) | const |
返回当前缓冲区的最大长度限制,若返回值 <= 0 则表示没有限制
string& acl::string::hex_decode | ( | const char * | s, |
size_t | len | ||
) |
将源数据进行 H2B 解码并存入当前对象的缓冲区中
s | {const char*} 源数据地址 |
len | {size_t} 源数据长度 |
string& acl::string::hex_encode | ( | const void * | s, |
size_t | len | ||
) |
将源数据进行 H2B 编码并存入当前对象的缓冲区中
s | {const void*} 源数据地址 |
len | {size_t} 源数据长度 |
string& acl::string::insert | ( | size_t | start, |
const void * | ptr, | ||
size_t | len | ||
) |
将内存数据插入指定下标位置开始的当前对象缓冲区中
start | {size_t} 当前对象缓冲区的开始插入下标值 |
ptr | {const void*} 内存数据的地址 |
len | {size_t} 内存数据的长度 |
string acl::string::left | ( | size_t | n | ) |
返回从当前字符串对象中缓冲区指定位置以左的内容
n | {size_t} 下标位置,当该值大于等于当前字符串的数据长度时, 则返回整个字符串对象;返回值不包含该值指定位置的字符内容 |
size_t acl::string::length | ( | ) | const |
返回当前对象字符串的长度(不含\0)
string& acl::string::lower | ( | void | ) |
string& acl::string::memmove | ( | const char * | src | ) |
将源字符串的数据移动至当前对象的缓冲区中,内部会自动判断源数据 地址是否就在当前对象的缓冲区中
src | {const char*} 源数据地址 |
string& acl::string::memmove | ( | const char * | src, |
size_t | len | ||
) |
将源字符串的数据移动至当前对象的缓冲区中,内部会自动判断源数据 地址是否就在当前对象的缓冲区中
src | {const char*} 源数据地址 |
len | {size_t} 移动数据的长度 |
int acl::string::ncompare | ( | const char * | s, |
size_t | len, | ||
bool | case_sensitive = true |
||
) | const |
比较当前对象缓冲区内容是否与所给的缓冲区的内容相同,限定比较数据长度
s | {const void*} 输入的缓冲区地址 |
len | {size_t} ptr 的缓冲区内数据长度 |
case_sensitive | {bool} 为 true 表示区分大小写 |
acl::string::operator const char * | ( | ) | const |
将当前对象直接转为字符串指针(即将内部缓冲区直接导出)
acl::string::operator const void * | ( | ) | const |
将当前字符串对象直接转为通用指针(即将内部缓冲区直接导出)
bool acl::string::operator!= | ( | const string & | s | ) | const |
判断当前对象的内容与所给的字符串对象内容是否不等(内部区分大小写)
s | {const string&} 输入的字符串对象引用 |
bool acl::string::operator!= | ( | const string * | s | ) | const |
判断当前对象的内容与所给的字符串对象内容是否不等(内部区分大小写)
s | {const string&} 输入的字符串对象指针 |
bool acl::string::operator!= | ( | const char * | s | ) | const |
判断当前对象的内容与所给的字符串内容是否不等(内部区分大小写)
s | {const string&} 输入的字符串对象指针 |
|
inline |
模板函数,可用在以下场景: string s1, s2; T v; s1 = s2 + v;
在文件 string.hpp 第 1282 行定义.
string& acl::string::operator+= | ( | const char * | s | ) |
向目标字符串对象尾部添加字符串
s | {const char*} 源字符串指针 |
向目标字符串对象尾部添加字符串
s | {const string&} 源字符串对象引用 |
向目标字符串对象尾部添加字符串
s | {const string*} 源字符串对象指针 |
string& acl::string::operator+= | ( | const std::string & | s | ) |
向目标字符串对象尾部添加字符串
s | {const std::string&} 源字符串对象引用 |
string& acl::string::operator+= | ( | const std::string * | s | ) |
向目标字符串对象尾部添加字符串
s | {const std::string*} 源字符串对象指针 |
string& acl::string::operator+= | ( | long long int | n | ) |
string& acl::string::operator+= | ( | unsigned long long int | n | ) |
string& acl::string::operator+= | ( | long | n | ) |
向目标字符串对象尾部添加有符号长整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号长整数 |
string& acl::string::operator+= | ( | unsigned long | n | ) |
向目标字符串对象尾部添加无符号长整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号长整数 |
string& acl::string::operator+= | ( | int | n | ) |
向目标字符串对象尾部添加有符号整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号整数 |
string& acl::string::operator+= | ( | unsigned int | n | ) |
向目标字符串对象尾部添加无符号整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号整数 |
string& acl::string::operator+= | ( | short | n | ) |
向目标字符串对象尾部添加有符号短整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号短整数 |
string& acl::string::operator+= | ( | unsigned short | n | ) |
向目标字符串对象尾部添加无符号短整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号短整数 |
string& acl::string::operator+= | ( | char | n | ) |
向目标字符串对象尾部添加有符号字符,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号字符 |
string& acl::string::operator+= | ( | unsigned char | n | ) |
向目标字符串对象尾部添加无符号字符,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号字符 |
bool acl::string::operator< | ( | const string & | s | ) | const |
判断当前对象的内容是否小于所给的字符串对象内容(内部区分大小写)
s | {const string&} 输入的字符串对象引用 |
向目标字符串对象尾部添加字符串
s | {const string&} 源字符串对象引用 |
向目标字符串对象尾部添加字符串
s | {const string*} 源字符串对象指针 |
string& acl::string::operator<< | ( | const std::string & | s | ) |
向目标字符串对象尾部添加字符串
s | {const std::string&} 源字符串对象引用 |
string& acl::string::operator<< | ( | const std::string * | s | ) |
向目标字符串对象尾部添加字符串
s | {const std::string*} 源字符串对象指针 |
string& acl::string::operator<< | ( | const char * | s | ) |
向目标字符串对象尾部添加字符串
s | {const char*} 源字符串指针 |
string& acl::string::operator<< | ( | long long int | n | ) |
string& acl::string::operator<< | ( | unsigned long long int | n | ) |
string& acl::string::operator<< | ( | long | n | ) |
向目标字符串对象尾部添加有符号长整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号长整数 |
string& acl::string::operator<< | ( | unsigned long | n | ) |
向目标字符串对象尾部添加无符号长整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号长整数 |
string& acl::string::operator<< | ( | int | n | ) |
向目标字符串对象尾部添加有符号整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号整数 |
string& acl::string::operator<< | ( | unsigned int | n | ) |
向目标字符串对象尾部添加无符号整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号整数 |
string& acl::string::operator<< | ( | short | n | ) |
向目标字符串对象尾部添加有符号短整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号短整数 |
string& acl::string::operator<< | ( | unsigned short | n | ) |
向目标字符串对象尾部添加无符号短整型数字,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号短整数 |
string& acl::string::operator<< | ( | char | n | ) |
向目标字符串对象尾部添加有符号字符,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源有符号字符 |
string& acl::string::operator<< | ( | unsigned char | n | ) |
向目标字符串对象尾部添加无符号字符,当为目标字符串对象为 二进制方式时,则按二进制数字方式添加;否则按文本方式添加
n | {long} 源无符号字符 |
string& acl::string::operator= | ( | const char * | s | ) |
对目标字符串类对象赋值
s | {const char*} 源字符串 |
对目标字符串类对象赋值
s | {const string&} 源字符串对象 |
对目标字符串类对象赋值
s | {const string*} 源字符串对象 |
string& acl::string::operator= | ( | const std::string & | s | ) |
对目标字符串类对象赋值
s | {const std::string&} 源字符串对象 |
string& acl::string::operator= | ( | const std::string * | s | ) |
对目标字符串类对象赋值
s | {const std::string*} 源字符串对象 |
string& acl::string::operator= | ( | long long int | ) |
string& acl::string::operator= | ( | unsigned long long int | ) |
string& acl::string::operator= | ( | char | n | ) |
对目标字符串类对象赋值
n | {char} 源有符号字符;若字符串对象的当前状态为二进制模式, 则该函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字 符串对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | unsigned char | n | ) |
对目标字符串类对象赋值
n | {char} 源无符号字符;若对象的当前状态为二进制模式,则该函数 便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符串对象; 关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | long | n | ) |
对目标字符串类对象赋值
n | {char} 源有符号长整型;若对象当前状态为二进制模式,则该函数 便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符串对象; 关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | unsigned long | n | ) |
对目标字符串类对象赋值
n | {char} 源无符号长整型;若字对象的当前状态为二进制模式, 则该函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给 字符串对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | int | n | ) |
对目标字符串类对象赋值
n | {char} 源有符号整型;若字符串对象的当前状态为二进制模式, 则该函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符 串对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | unsigned int | n | ) |
对目标字符串类对象赋值
n | {char} 源无符号整型;若字符串对象的当前状态为二进制模式, 则该函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符 串对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | short | n | ) |
对目标字符串类对象赋值
n | {char} 源有符号短整型;若字符串对象的当前状态为二进制模式, 则该函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符 串对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
string& acl::string::operator= | ( | unsigned short | n | ) |
对目标字符串类对象赋值
n | {char} 源无符号短整型;若对象的当前状态为二进制模式,则该 函数便会以二进制方式赋值给字符串对象,否则以文本方式赋值给字符串 对象;关于二进制模式还是文本方式,其含义参见 set_bin(bool) |
bool acl::string::operator== | ( | const string & | s | ) | const |
判断当前对象的内容与所给的字符串对象内容是否相等(内部区分大小写)
s | {const string&} 输入的字符串对象引用 |
bool acl::string::operator== | ( | const string * | s | ) | const |
判断当前对象的内容与所给的字符串对象内容是否相等(内部区分大小写)
s | {const string&} 输入的字符串对象指针 |
bool acl::string::operator== | ( | const char * | s | ) | const |
判断当前对象的内容与所给的字符串内容是否相等(内部区分大小写)
s | {const string&} 输入的字符串对象指针 |
bool acl::string::operator> | ( | const string & | s | ) | const |
判断当前对象的内容是否大于所给的字符串对象内容(内部区分大小写)
s | {const string&} 输入的字符串对象引用 |
size_t acl::string::operator>> | ( | string * | s | ) |
将字符串对象中的内容赋予目标字符串对象
s | {string*} 目标字符串对象 |
size_t acl::string::operator>> | ( | string & | s | ) |
将字符串对象中的内容赋予目标字符串对象
s | {string&} 目标字符串对象 |
size_t acl::string::operator>> | ( | std::string * | s | ) |
将字符串对象中的内容赋予目标字符串对象
s | {std::string*} 目标字符串对象 |
size_t acl::string::operator>> | ( | std::string & | s | ) |
将字符串对象中的内容赋予目标字符串对象
s | {std::string&} 目标字符串对象 |
size_t acl::string::operator>> | ( | long long int & | ) |
size_t acl::string::operator>> | ( | unsigned long long int & | ) |
size_t acl::string::operator>> | ( | int & | n | ) |
将字符串对象中的内容赋予目标 32 位有符号整数
n | {string*} 目标 32 位有符号整数 |
size_t acl::string::operator>> | ( | unsigned int & | n | ) |
将字符串对象中的内容赋予目标 32 位无符号整数
n | {string*} 目标 32 位无符号整数 |
size_t acl::string::operator>> | ( | short & | n | ) |
将字符串对象中的内容赋予目标 16 位有符号整数
n | {string*} 目标 16 位有符号整数 |
size_t acl::string::operator>> | ( | unsigned short & | n | ) |
将字符串对象中的内容赋予目标 16 位无符号整数
n | {string*} 目标 16 位无符号整数 |
size_t acl::string::operator>> | ( | char & | n | ) |
将字符串对象中的内容赋予目标 8 位有符号字符
n | {string*} 目标 16 位有符号字符 |
size_t acl::string::operator>> | ( | unsigned char & | n | ) |
将字符串对象中的内容赋予目标 8 位无符号字符
n | {string*} 目标 16 位无符号字符 |
char acl::string::operator[] | ( | size_t | n | ) | const |
根据字符数组下标获得指定位置的字符,输入参数必须为合法值,否则则 内部产生断言
n | {size_t} 指定的位置(该值 >= 0 且 < 字符串长度),如果越界 则产生断言 |
char acl::string::operator[] | ( | int | n | ) | const |
根据字符数组下标获得指定位置的字符,输入参数必须为合法值,否则则 内部产生断言
n | {int} 指定的位置(该值 >= 0 且 < 字符串长度),如果越界, 则产生断言 |
char& acl::string::operator[] | ( | size_t | n | ) |
左值赋值重载,用户可以直接使用对象的数组下标进行赋值,如果下标组值 越界,则内部会自动扩充缓冲区空间
n | {size_t} 数组下标位置 |
char& acl::string::operator[] | ( | int | n | ) |
左值赋值重载,用户可以直接使用对象的数组下标进行赋值,如果下标组值 越界,则内部会自动扩充缓冲区空间
n | {int} 数组下标位置,该值必须 >= 0 |
|
static |
将 32 位有符号整数转为字符串存(内部使用了线程局部变量)
n | {int} 32 位有符号整数 |
|
static |
将 32 位无符号整数转为字符串存(内部使用了线程局部变量)
n | {int} 32 位无符号整数 |
|
static |
将 64 位有符号整数转为字符串存(内部使用了线程局部变量)
n | {long long int} 64 位有符号整数 |
|
static |
将 64 位无符号整数转为字符串存(内部使用了线程局部变量)
n | {unsigned long long int} 64 位无符号整数 |
string& acl::string::prepend | ( | const char * | s | ) |
将指定字符串数据添加在当前对象数据缓冲区数据的首部
s | {const char*} 源数据地址 |
string& acl::string::prepend | ( | const void * | ptr, |
size_t | len | ||
) |
将指定内存数据添加在当前对象数据缓冲区数据的首部
ptr | {const void*} 源数据地址 |
len | {size_t} ptr 数据长度 |
string& acl::string::push_back | ( | char | ch | ) |
将一个有符号字符添加进当前字符串对象的尾部
ch | {char} 有符号字符 |
string& acl::string::replace | ( | char | from, |
char | to | ||
) |
将当前对象中的数据的字符进行替换
from | {char} 源字符 |
to | {char} 目标字符 |
char* acl::string::rfind | ( | const char * | needle, |
bool | case_sensitive = true |
||
) | const |
从尾部向前查找指定字符串在当前对象缓冲区的起始位置(下标从 0 开始)
needle | {const char*} 要查找的有符号字符串 |
case_sensitive | {bool} 为 true 表示区分大小写 |
string acl::string::right | ( | size_t | n | ) |
返回从当前字符串对象中缓冲区指定位置以右的内容
n | {size_t} 下标位置,当该值大于等于当前字符串的数据长度时, 则返回的字符串对象内容为空;返回值不包含该值指定位置的字符内容 |
int acl::string::rncompare | ( | const char * | s, |
size_t | len, | ||
bool | case_sensitive = true |
||
) | const |
从尾部向前比较当前对象的缓冲区内容是否与所给的缓冲区的内容相同, 限定比较数据长度
s | {const void*} 输入的缓冲区地址 |
len | {size_t} ptr 的缓冲区内数据长度 |
case_sensitive | {bool} 为 true 表示区分大小写 |
< 0 :当前对象缓冲内容小于输入的内容0:当前对象缓冲区内容大于输入的内容;
size_t acl::string::scan_buf | ( | void * | buf, |
size_t | size, | ||
bool | move = false |
||
) |
将当前对象的缓冲内容拷贝一部分数据至目标缓冲内
buf | {void*} 目标缓冲区地址 |
size | {size_t} buf 缓冲区长度 |
move | {bool} 在拷贝完数据后,是否需要将后面的数据向前移动并 覆盖前面的已拷贝的数据 |
bool acl::string::scan_line | ( | string & | out, |
bool | nonl = true , |
||
size_t * | n = NULL , |
||
bool | move = false |
||
) |
从当前对象的缓冲区中拷贝一行数据(包含"\r\n")至目标缓冲区内,当数据 被拷贝至目标缓冲区后,在源缓冲区内未被拷贝的数据会发生移动并覆盖被 拷贝的数据区域
out | {string&} 目标缓冲区,函数内部不会先自动清空该缓冲区 |
nonl | {bool} 返回的一行数据是否去掉尾部的 "\r\n" 或 "\n" |
n | {size_t*} 该参数为非空指针时,则存储拷贝到的数据长度;当读 到一个空行且 nonl 为 true 时,则该地址存储 0 |
move | {bool} 在拷贝完数据后,是否需要将后面的数据向前移动并 覆盖前面的已拷贝的数据 |
size_t acl::string::scan_move | ( | ) |
当使用 scan_xxx 类方法对缓冲区进行操作时未指定 move 动作,则调用本 函数可以使缓冲区内剩余的数据向前移动至缓冲区首部
string& acl::string::set_bin | ( | bool | bin | ) |
设置字符串类对象为二进制处理模式
bin | {bool} 当该值为 true 时,则设置字符串类对象为二进制处理 方式;否则为文本方式;为 true 时,则当调用 += int|int64|short|char 或调用 << int|int64|short|char 时,则按二进制方式处理,否则按文本 方式处理 |
string& acl::string::set_max | ( | int | max | ) |
设置缓冲区的最大长度,以避免缓冲区溢出
max | {int} |
string& acl::string::set_offset | ( | size_t | n | ) |
将当前对象的缓冲区的下标位置移至指定位置
n | {size_t} 目标下标位置,当该值 >= capacity 时,内部会 重新分配更大些的内存 |
size_t acl::string::size | ( | ) | const |
返回当前对象字符串的长度(不含\0),功能与 length 相同
被这些函数引用 acl::http_server_impl::Service().
string& acl::string::space | ( | size_t | n | ) |
调用该函数可以预先保证所需要的缓冲区大小
n | {size_t} 希望的缓冲区空间大小值 |
std::list<string>& acl::string::split | ( | const char * | sep, |
bool | quoted = false |
||
) |
将当前对象存储的字符串进行分割
sep | {const char*} 进行分割时的分割标记 |
quoted | {bool} 当为 true 时,则对于由单/双引号引起来的 字符串内容,不做分割,但此时要求 sep 中不得存在单/双号 |
std::vector<string>& acl::string::split2 | ( | const char * | sep, |
bool | quoted = false |
||
) |
将当前对象存储的字符串进行分割
sep | {const char*} 进行分割时的分割标记 |
quoted | {bool} 当为 true 时,则对于由单/双引号引起来的 字符串内容,不做分割,但此时要求 sep 中不得存在单/双号 |
以 '=' 为分隔符将当前对象存储的字符串分割成 name/value 对,分割时会 自动去掉源字符串的起始处、结尾处以及分隔符 '=' 两边的空格及 TAB
string& acl::string::strip | ( | const char * | needle, |
bool | each = false |
||
) |
在当前对象的缓冲区数据中去掉指定的字符串内容,在处理过程中会发生 数据移动情况
needle | {const char*} 指定需要去掉的字符串数据 |
each | {bool} 当为 true 时,则每一个出现在 needle 中的字符都 会在当前对象的缓存区中去掉;否则,仅在当前对象缓冲区中去掉完整的 needle 字符串 |
size_t acl::string::substr | ( | string & | out, |
size_t | p = 0 , |
||
size_t | len = 0 |
||
) | const |
从当前缓冲区中将指定偏移量指定长度的数据拷贝至目标缓冲区中
out | {string&} 目标缓冲区,内部采用追加方式,并不清空该对象 |
p | {size_t} 当前缓冲区的起始位置 |
len | {size_t} 从 p 起始位置开始拷贝的数据量,当该值为 0 时 则拷贝指定 p 位置后所有的数据,否则拷贝指定长度的数据,若指定的 数据长度大于实际要拷贝的长度,则仅拷贝实际存在的数据 |
string& acl::string::trim_left_line | ( | ) |
将当前对象缓冲区左边的回车换行符去掉
string& acl::string::trim_left_space | ( | ) |
将当前对象缓冲区左边的空白(包含空格及TAB)去掉
string& acl::string::trim_line | ( | ) |
将当前对象缓冲区中所有的回车换行符去掉
string& acl::string::trim_right_line | ( | ) |
将当前对象缓冲区右边的回车换行符去掉
string& acl::string::trim_right_space | ( | ) |
将当前对象缓冲区右边的空白(包含空格及TAB)去掉
string& acl::string::trim_space | ( | ) |
将当前对象缓冲区中所有的空白(包含空格及TAB)去掉
string& acl::string::truncate | ( | size_t | n | ) |
将当前对象的数据截短,缓冲区内部移动下标指针地址
n | {size_t} 数据截短后的数据长度,如果该值 >= 当前缓冲区 数据长度,则内部不做任何变化 |
string& acl::string::upper | ( | void | ) |
将当前对象的数据缓冲区中的数据均转为大写
将输入的用 url 编码的源数据解码并存入当前对象的缓冲区中
s | {const char*} 经 url 编码的源数据 |
dbuf | {dbuf_pool*} 内存池对象,如果非空,则内部的动态内存在 该对象上分配且当调用者在释放该对象时内部临时动态内存随之被释放, |
将输入的源数据进行 url 编码并存入当前对象的缓冲区中
s | {const char*} 源数据 |
dbuf | {dbuf_pool*} 内存池对象,如果非空,则内部的动态内存在 该对象上分配且当调用者在释放该对象时内部临时动态内存随之被释放, 否则使用 acl_mymalloc 分配并自动释放 |
带格式方式的添加数据(类似于 vsprintf 接口方式)
fmt | {const char*} 格式字符串 |
ap | {va_list} 变参数据 |
带格式方式在当前对象的尾部添加数据
fmt | {const char*} 格式字符串 |
ap | {va_list} 变参数据 |
ACL_VSTRING* acl::string::vstring | ( | void | ) | const |
返回当前对象内部所用的 acl C 库中的 ACL_VSTRING 对象地址