acl  3.5.3.0
acl::url_coder类 参考

#include <url_coder.hpp>

+ 类 acl::url_coder 继承关系图:
+ acl::url_coder 的协作图:

Public 成员函数

 url_coder (bool nocase=true, dbuf_guard *dbuf=NULL)
 
 url_coder (const url_coder &coder, dbuf_guard *dbuf=NULL)
 
 ~url_coder (void)
 
void encode (string &buf, bool clean=true) const
 
const stringto_string (void) const
 
void decode (const char *str)
 
url_coderset (const char *name, const char *value, bool override=true)
 
url_coderset (const char *name, int value, bool override=true)
 
url_coderset (const char *name, bool override, const char *fmt,...) ACL_CPP_PRINTF(4
 
url_coder url_coderset (const char *name, const char *fmt, va_list ap, bool override=true)
 
const char * get (const char *name, bool *found=NULL) const
 
const char * operator[] (const char *name) const
 
const url_coderoperator= (const url_coder &coder)
 
const std::vector< URL_NV * > & get_params (void) const
 
bool del (const char *name)
 
void reset (void)
 
- Public 成员函数 继承自 acl::dbuf_obj
 dbuf_obj (dbuf_guard *guard=NULL)
 
virtual ~dbuf_obj ()
 
int pos () const
 
dbuf_guardget_guard () const
 

详细描述

在文件 url_coder.hpp16 行定义.

构造及析构函数说明

◆ url_coder() [1/2]

acl::url_coder::url_coder ( bool  nocase = true,
dbuf_guard dbuf = NULL 
)

构造函数

参数
nocase{bool} 当为 true 时表示参数名不区别大小写
dbuf{dbuf_guard*} 内存池对象

◆ url_coder() [2/2]

acl::url_coder::url_coder ( const url_coder coder,
dbuf_guard dbuf = NULL 
)

构造函数,通过类实例对象构造

参数
coder{const url_coder&}
dbuf{dbuf_guard*} 内存池对象

◆ ~url_coder()

acl::url_coder::~url_coder ( void  )

成员函数说明

◆ decode()

void acl::url_coder::decode ( const char *  str)

解析以 URL 编码的字符串

参数
str{const char*} url 编码形式的字符串

◆ del()

bool acl::url_coder::del ( const char *  name)

从 params_ 参数数组中删除某个变量

参数
name{const char*} 变量名
返回
{bool} 返回 true 表示删除成功,否则表示不存在

◆ encode()

void acl::url_coder::encode ( string buf,
bool  clean = true 
) const

将存储于 params_ 数组中的数据进行 url 编码

参数
buf{string&} 存储编码后的结果
clean{bool} 是否清空传入的 buf 缓冲区

◆ get()

const char* acl::url_coder::get ( const char *  name,
bool *  found = NULL 
) const

获得 URL 解码后 params_ 数组中某个变量名的值

参数
name{const char*} 变量名
found{bool*} 该指针非 NULL 时,将存储 name 是否存在,主要 用在 name 的值为空的情形
返回
{const char*} 返回 NULL 表示不存在

◆ get_params()

const std::vector<URL_NV*>& acl::url_coder::get_params ( void  ) const
inline

获得参数数组对象

返回
{std::vector<URL_NV*>&}

在文件 url_coder.hpp97 行定义.

98  {
99  return params_;
100  }

◆ operator=()

const url_coder& acl::url_coder::operator= ( const url_coder coder)

URL 编码器对象的拷贝

参数
coder{const url_coder&} URL 源编码器对象
返回
{const url_coder&}

◆ operator[]()

const char* acl::url_coder::operator[] ( const char *  name) const

获得 URL 解码后 params_ 数组中某个变量名的值

参数
name{const char*} 变量名
返回
{const char*} 返回 NULL 表示不存在或 name 的值为空 注:如果 name 的值为空,则不能正确判断 name 是否存在

◆ reset()

void acl::url_coder::reset ( void  )

重置解析器状态,清除内部缓存

◆ set() [1/4]

url_coder& acl::url_coder::set ( const char *  name,
const char *  value,
bool  override = true 
)

采用 url 编码时,调用此函数添加变量

参数
name{const char*} 变量名
value变量值
override{bool} 如果存在同名变量是否直接覆盖
返回
返回 url_coder 对象的引用

◆ set() [2/4]

url_coder& acl::url_coder::set ( const char *  name,
int  value,
bool  override = true 
)

◆ set() [3/4]

url_coder& acl::url_coder::set ( const char *  name,
bool  override,
const char *  fmt,
  ... 
)

◆ set() [4/4]

url_coder url_coder& acl::url_coder::set ( const char *  name,
const char *  fmt,
va_list  ap,
bool  override = true 
)

◆ to_string()

const string& acl::url_coder::to_string ( void  ) const

获得将数组对象转换为编码后的字符串对象

返回
{const string&}

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