Sese Framework
x.y.z
A cross-platform framework
|
命名空间 | |
namespace | _windows |
namespace | archive |
namespace | concurrent |
namespace | db |
namespace | event |
namespace | ini |
namespace | internal |
namespace | io |
namespace | iocp |
namespace | net |
namespace | plugin |
namespace | record |
namespace | res |
namespace | security |
namespace | service |
namespace | system |
namespace | text |
namespace | xml |
类型定义 | |
template<class T > | |
using | BufferedQueueN1 = BufferedQueueNn<T> |
缓存队列(多生产者-单消费者) | |
template<class T > | |
using | BufferedQueue1N = BufferedQueueNn<T> |
缓存队列(单生产者-多消费者) | |
template<typename VALUE , typename ALLOCATOR = std::allocator<std::pair<const std::string, VALUE>>> | |
using | StrCaseMap = std::map<std::string, VALUE, StrCaseMapComparer, ALLOCATOR> |
忽略字符串键大小写的字典类 | |
template<typename VALUE , typename ALLOCATOR = std::allocator<std::pair<const std::string, VALUE>>> | |
using | StrCaseUnorderedMap = std::unordered_map<std::string, VALUE, StrCaseUnorderedMapComparer, StrCaseUnorderedMapComparer, ALLOCATOR> |
忽略字符串键大小写的字典类 | |
using | socket_t = int32_t |
Native Socket 类型 | |
using | tid_t = uint32_t |
线程 ID 标识符 | |
using | pid_t = ::pid_t |
进程 ID 标识符 | |
template<typename... > | |
using | void_t = void |
using | NativeException = UnixException |
template<typename T > | |
using | SharedType = std::shared_ptr<T> |
template<typename T > | |
using | UniqueType = std::unique_ptr<T> |
template<typename T > | |
using | WeakType = std::weak_ptr<T> |
枚举 | |
enum class | CompressionType { RAW = -30 , ZLIB = 0 , GZIP = 16 } |
函数 | |
const char * | getLevelString (record::Level level) noexcept |
template<class RETURN_TYPE > | |
std::shared_future< RETURN_TYPE > | async (const std::function< RETURN_TYPE()> &task) noexcept |
template<class RETURN_TYPE > | |
std::shared_future< RETURN_TYPE > | async (ThreadPool &pool, const std::function< RETURN_TYPE()> &task) noexcept |
template<class RETURN_TYPE > | |
std::shared_future< RETURN_TYPE > | asyncWithGlobalPool (const std::function< RETURN_TYPE()> &task) noexcept |
void | initCore (int argc, const char *const *argv) noexcept |
template<typename RETURN_TYPE , typename... ARGS> | |
SharedType< RETURN_TYPE > | makeShared (ARGS &&...args) |
template<typename RETURN_TYPE , typename... ARGS> | |
SharedType< RETURN_TYPE > | makeUnique (ARGS &&...args) |
template<typename RETURN_TYPE , typename INIT_TYPE > | |
SharedType< RETURN_TYPE > | makeSharedFromList (std::initializer_list< INIT_TYPE > list) |
template<typename RETURN_TYPE , typename INIT_TYPE > | |
UniqueType< RETURN_TYPE > | makeUniqueFromList (std::initializer_list< INIT_TYPE > list) |
template<typename RETURN_TYPE , typename RAW_TYPE > | |
SharedType< RETURN_TYPE > | dynamicPointerCast (SharedType< RAW_TYPE > raw_type) |
template<typename RETURN_TYPE , typename RAW_TYPE > | |
UniqueType< RETURN_TYPE > | dynamicPointerCast (UniqueType< RAW_TYPE > &raw_type) |
int64_t | toInteger (const std::string &string, int radix=10) |
std::string | getClassName (const std::type_info *type) |
bool | strcmp (char const *lv, char const *rv) noexcept |
bool | strcmpDoNotCase (char const *lv, char const *rv) noexcept |
bool | isSpace (char ch) noexcept |
const char * | getLevelString (Level level) noexcept |
int32_t | findFirstAt (const char *str, char ch) |
void | sleep (uint32_t second) |
template<class REP , class PERIOD > | |
void | sleep (const std::chrono::duration< REP, PERIOD > &duration) |
std::string | getErrorString (int64_t error=errno) |
int32_t | getErrorCode () |
size_t | streamMove (sese::io::OutputStream *out, sese::io::InputStream *in, size_t size) noexcept |
template<class T > | |
size_t | number2StringLength (T num, size_t radix=10) |
template<class T > | |
size_t | floating2StringLength (T num, uint16_t placeholder) |
template<typename TP > | |
std::time_t | to_time_t (TP tp) |
template<typename T > | |
bool | isAdditionOverflow (T a, T b) |
加法溢出检测 | |
template<typename T > | |
bool | isSubtractionOverflow (T a, T b) |
减法溢出检测 | |
变量 | |
thread_local std::shared_ptr< sese::Thread::RuntimeData > | current_data = nullptr |
template<typename T > | |
constexpr bool | is_iterable_v = is_iterable<T>::value |
通用的时间 API
tp | timeval 结构体 |
tzp | timezone 结构体 |
using sese::BufferedQueue1N = BufferedQueueNn<T> |
缓存队列(单生产者-多消费者)
using sese::BufferedQueueN1 = BufferedQueueNn<T> |
缓存队列(多生产者-单消费者)
using sese::NativeException = UnixException |
typedef DWORD sese::pid_t = ::pid_t |
进程 ID 标识符
using sese::SharedType = std::shared_ptr<T> |
typedef SOCKET sese::socket_t = int32_t |
Native Socket 类型
using sese::StrCaseMap = std::map<std::string, VALUE, StrCaseMapComparer, ALLOCATOR> |
忽略字符串键大小写的字典类
VALUE | 字典值类型 |
ALLOCATOR | 内存分配器 |
using sese::StrCaseUnorderedMap = std::unordered_map<std::string, VALUE, StrCaseUnorderedMapComparer, StrCaseUnorderedMapComparer, ALLOCATOR> |
忽略字符串键大小写的字典类
VALUE | 字典值类型 |
ALLOCATOR | 内存分配器 |
typedef uint32_t sese::tid_t = uint32_t |
线程 ID 标识符
using sese::UniqueType = std::unique_ptr<T> |
using sese::void_t = void |
using sese::WeakType = std::weak_ptr<T> |
|
strong |
|
noexcept |
启动一个匿名线程执行任务
RETURN_TYPE | 返回值类型 |
task | 任务 |
|
noexcept |
将任务提交到一个现有的线程池当中
RETURN_TYPE | 返回值类型 |
pool | 现有的线程池 |
task | 任务 |
|
noexcept |
将任务提交到全局线程池当中
RETURN_TYPE | 返回值类型 |
task | 任务 |
|
inline |
std::shared_ptr 的类型转换
RETURN_TYPE | 预计返回 std::shared_ptr 的模板参数 |
RAW_TYPE | 原始的 std::shared_ptr 的模板参数 |
raw_type | 需要转换的 std::shared_ptr |
UniqueType< RETURN_TYPE > sese::dynamicPointerCast | ( | UniqueType< RAW_TYPE > & | raw_type | ) |
std::unique_ptr 的类型转换
RETURN_TYPE | 预计返回 std::unique_ptr 的模板参数 |
RAW_TYPE | 原始的 std::unique_ptr 的模板参数 |
raw_type | 需要转换的 std::unique_ptr |
int32_t sese::findFirstAt | ( | const char * | str, |
char | ch ) |
size_t sese::floating2StringLength | ( | T | num, |
uint16_t | placeholder ) |
获取数字转字符串后所需的字节长度
T | 入参浮点数类型 |
num | 待转换的数字 |
placeholder | 精度 |
被这些函数引用 sese::text::FormatOption_FloatNumberFormat() , 以及 sese::text::Number::toString().
std::string sese::getClassName | ( | const std::type_info * | type | ) |
获取类的名称
type | Class |
int32_t sese::getErrorCode | ( | ) |
获取 error 代码
被这些函数引用 sese::io::FileStream::createEx() , 以及 sese::Result< T >::fromLastError().
std::string sese::getErrorString | ( | int64_t | error = errno | ) |
获取报错信息
error | 错误代码 |
被这些函数引用 sese::io::FileStream::createEx(), sese::Result< T >::fromLastError() , 以及 sese::net::getNetworkErrorString().
|
noexcept |
根据日志等级返回对应的字符串
level | 日志等级 |
|
noexcept |
|
noexcept |
bool sese::isAdditionOverflow | ( | T | a, |
T | b ) |
|
noexcept |
判断字符是否属于空白
ch | 欲判断的字符 |
引用了 SPACE_CHARS.
被这些函数引用 sese::Json::tokenizer(), sese::xml::XmlUtil::tokenizer() , 以及 sese::text::AbstractStringBuffer::trim().
|
inline |
实例化 SharedType
RETURN_TYPE | SharedType 模板参数 |
ARGS | 模板参数的构造函数参数类型 |
args | 模板参数的构造函数参数 |
SharedType< RETURN_TYPE > sese::makeSharedFromList | ( | std::initializer_list< INIT_TYPE > | list | ) |
std::make_shared 搭配 std::initializer_list 使用
RETURN_TYPE | 预计返回 std::shared_ptr 的模板类型 |
INIT_TYPE | std::initializer_list 模板参数 |
list | 初始化列表 |
|
inline |
实例化 UniqueType
RETURN_TYPE | UniqueType 模板参数 |
ARGS | 模板参数的构造函数参数类型 |
args | 模板参数的构造函数参数 |
UniqueType< RETURN_TYPE > sese::makeUniqueFromList | ( | std::initializer_list< INIT_TYPE > | list | ) |
std::make_unique 搭配 std::initializer_list 使用
RETURN_TYPE | 预计返回 std::unique_ptr 的模板参数 |
INIT_TYPE | std::initializer_list 的模板参数 |
list | 初始化列表 |
size_t sese::number2StringLength | ( | T | num, |
size_t | radix = 10 ) |
获取数字转字符串后所需的字节长度
T | 入参整数类型 |
num | 待转换的数字 |
radix | 进制 |
被这些函数引用 floating2StringLength(), sese::text::FormatOption_NumberFormatAlgin(), sese::text::Number::toHex(), sese::text::Number::toHex(), sese::text::Number::toOct(), sese::text::Number::toOct(), sese::text::Number::toString() , 以及 sese::net::http::Range::toStringLength().
void sese::sleep | ( | const std::chrono::duration< REP, PERIOD > & | duration | ) |
使当前线程休眠一段时间,std 实现
void sese::sleep | ( | uint32_t | second | ) |
使当前线程休眠一段时间,NATIVE API 实现
second | 秒 |
引用了 sleep().
被这些函数引用 sese::net::Socket::connect(), sese::security::SecuritySocket::connect(), sese::Timer::loop(), sese::internal::service::http::HttpServiceImpl::shutdown() , 以及 sleep().
|
noexcept |
|
noexcept |
比较两个字符串是否相同(忽略大小写)
lv | 字符串1 |
rv | 字符串2 |
引用了 strcmpi.
被这些函数引用 sese::net::http::HttpConverter::convertFromHttp2(), sese::net::http::RequestableFactory::createHttpRequest(), sese::net::http::HPackUtil::decode(), sese::db::impl::SqlitePreparedStatementImpl::getColumnType(), sese::internal::service::http::HttpServiceImpl::handleRequest(), in(), sese::Yaml::parseArray(), sese::Yaml::parseBasic() , 以及 sese::internal::net::http::HttpClientImpl::request().
|
noexcept |
移动流数据
out | 输出流 |
in | 输入流 |
size | 移动大小 |
引用了 in().
被这些函数引用 sese::internal::service::http::HttpConnection::readBody() , 以及 sese::internal::service::http::HttpConnection::readHeader().
std::time_t sese::to_time_t | ( | TP | tp | ) |
时间类型转换
TP | 转换对象类型 |
tp | 转换对象 |
被这些函数引用 sese::internal::service::http::HttpServiceImpl::handleRequest().
int64_t sese::toInteger | ( | const std::string & | string, |
int | radix = 10 ) |
无视错误的整形转换函数
string | 表示整形的字符串 |
radix | 进制 |
被这些函数引用 sese::internal::service::http::HttpConnectionEx::handleDataFrame() , 以及 sese::internal::service::http::HttpConnection::readHeader().
thread_local std::shared_ptr<sese::Thread::RuntimeData> sese::current_data = nullptr |
|
constexpr |