Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese 命名空间参考

命名空间

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
 

class  ArgParser
 命令行参数解析类 更多...
 
class  Base64Converter
 BASE64 转换器 更多...
 
class  Bimap
 双向映射表 更多...
 
struct  Bitset32
 endian 无关的 32 位 更多...
 
class  BufferedQueue11
 缓存队列(单生产者-单消费者) 更多...
 
class  BufferedQueueNn
 缓存队列(多生产者-多消费者) 更多...
 
class  Compressor
 压缩器 更多...
 
class  ConfigObject
 传统配置文件类 更多...
 
class  ConfigUtil
 传统配置文件工具 更多...
 
class  CSVReader
 CSV 流读取器 更多...
 
class  CSVWriter
 CSV 流写入器 更多...
 
class  DateTime
 日期时间类 更多...
 
class  Decompressor
 解压器 更多...
 
class  EncodingConverter
 字符串编码转换 更多...
 
class  EncodingConverterInitiateTask
 编码转换器初始化任务 更多...
 
class  ErrorCode
 错误码 更多...
 
class  Exception
 异常类 更多...
 
class  GlobalThreadPool
 全局线程池,在 Windows 上使用系统线程池,而在 UNIX 平台上则使用懒汉单例模式的线程池 更多...
 
class  GZipFileInputStream
 GZip 文件输入流(解压) 更多...
 
class  GZipFileOutputStream
 GZip 文件输出流(压缩) 更多...
 
struct  has_begin
 
struct  has_begin< T, void_t< decltype(std::declval< T >().begin())> >
 
struct  has_end
 
struct  has_end< T, void_t< decltype(std::declval< T >().begin())> >
 
class  Initializer
 初始化器 更多...
 
class  InitiateTask
 初始化任务基类 更多...
 
struct  is_iterable
 
struct  is_pair
 
struct  is_pair< std::pair< T1, T2 > >
 
class  Json
 Json 解析器 更多...
 
class  Locker
 std::mutex 包装器 更多...
 
struct  LongLongSplitter
 数据分割用结构体 更多...
 
class  MD5Util
 MD5 算法类 更多...
 
class  MemoryViewer
 内存视图工具 更多...
 
class  MessageDigest
 信息摘要工具类 更多...
 
class  Noncopyable
 不可复制类 更多...
 
class  NotInstantiable
 不可实例化类 更多...
 
class  ObjectPool
 对象池 更多...
 
class  PercentConverter
 百分号编码转换器 更多...
 
class  RandomUtil
 随机工具类 更多...
 
class  Range
 区间类 更多...
 
class  Result
 结果类 更多...
 
class  RingQueue
 环形队列 更多...
 
struct  SHA1Context
 SHA1 上下文 更多...
 
class  SHA1Util
 SHA1 算法工具 更多...
 
class  SHA256Util
 非硬件指令加速的 SHA256 摘要算法,对性能有要求请不要使用此工具类 更多...
 
class  Singleton
 裸指针单例模板类 更多...
 
class  SingletonPtr
 智能指针单例模板类 更多...
 
class  SpinLock
 自旋锁 更多...
 
class  StopWatch
 停表类 更多...
 
struct  StrCaseMapComparer
 StrCaseMap 比较器 更多...
 
struct  StrCaseUnorderedMapComparer
 StrCaseUnorderedMap 比较器 更多...
 
struct  StrCmp
 字符比较器 更多...
 
struct  StrCmpI
 字符比较器(忽略大小写) 更多...
 
class  SymbolConverter
 
class  Thread
 线程类 更多...
 
class  ThreadInitiateTask
 内建线程类的初始化任务 更多...
 
class  ThreadPool
 线程池类 更多...
 
struct  TimeoutEvent
 超时事件 更多...
 
struct  TimeoutEventSlot
 超时事件槽(时间轮轮片) 更多...
 
class  Timer
 低精度计时器类 更多...
 
class  TimerTask
 定时任务 更多...
 
class  TimeSpan
 时间间隔类 更多...
 
class  TimestampHandler
 时间戳处理器 更多...
 
class  TimeWheel
 时间轮 更多...
 
class  UniReader
 跨平台的文件读取器,主要适配 Windows,支持 UTF-8 更多...
 
class  UnixException
 Unix 异常包装类 更多...
 
class  Uuid
 Uuid更多...
 
class  UuidBuilder
 Uuid 生成器 更多...
 
class  Value
 值容器类 更多...
 
class  Version
 版本类 更多...
 
class  Yaml
 Yaml 解析器 更多...
 

类型定义

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::RuntimeDatacurrent_data = nullptr
 
template<typename T >
constexpr bool is_iterable_v = is_iterable<T>::value
 

详细描述

通用的时间 API

参数
tptimeval 结构体
tzptimezone 结构体
返回
成功(0), 失败(-1)

类型定义说明

◆ BufferedQueue1N

template<class T >
using sese::BufferedQueue1N = BufferedQueueNn<T>

缓存队列(单生产者-多消费者)

◆ BufferedQueueN1

template<class T >
using sese::BufferedQueueN1 = BufferedQueueNn<T>

缓存队列(多生产者-单消费者)

◆ NativeException

◆ pid_t

typedef DWORD sese::pid_t = ::pid_t

进程 ID 标识符

◆ SharedType

template<typename T >
using sese::SharedType = std::shared_ptr<T>

◆ socket_t

typedef SOCKET sese::socket_t = int32_t

Native Socket 类型

◆ StrCaseMap

template<typename VALUE , typename ALLOCATOR = std::allocator<std::pair<const std::string, VALUE>>>
using sese::StrCaseMap = std::map<std::string, VALUE, StrCaseMapComparer, ALLOCATOR>

忽略字符串键大小写的字典类

模板参数
VALUE字典值类型
ALLOCATOR内存分配器

◆ StrCaseUnorderedMap

template<typename VALUE , typename ALLOCATOR = std::allocator<std::pair<const std::string, VALUE>>>
using sese::StrCaseUnorderedMap = std::unordered_map<std::string, VALUE, StrCaseUnorderedMapComparer, StrCaseUnorderedMapComparer, ALLOCATOR>

忽略字符串键大小写的字典类

模板参数
VALUE字典值类型
ALLOCATOR内存分配器

◆ tid_t

typedef uint32_t sese::tid_t = uint32_t

线程 ID 标识符

◆ UniqueType

template<typename T >
using sese::UniqueType = std::unique_ptr<T>

◆ void_t

template<typename... >
using sese::void_t = void

◆ WeakType

template<typename T >
using sese::WeakType = std::weak_ptr<T>

枚举类型说明

◆ CompressionType

enum class sese::CompressionType
strong
枚举值
RAW 
ZLIB 
GZIP 

函数说明

◆ async() [1/2]

template<class RETURN_TYPE >
std::shared_future< RETURN_TYPE > sese::async ( const std::function< RETURN_TYPE()> & task)
noexcept

启动一个匿名线程执行任务

模板参数
RETURN_TYPE返回值类型
参数
task任务
返回
std::shared_future 对象

◆ async() [2/2]

template<class RETURN_TYPE >
std::shared_future< RETURN_TYPE > sese::async ( ThreadPool & pool,
const std::function< RETURN_TYPE()> & task )
noexcept

将任务提交到一个现有的线程池当中

模板参数
RETURN_TYPE返回值类型
参数
pool现有的线程池
task任务
返回
std::shared_future 对象

引用了 sese::ThreadPool::postTask().

◆ asyncWithGlobalPool()

template<class RETURN_TYPE >
std::shared_future< RETURN_TYPE > sese::asyncWithGlobalPool ( const std::function< RETURN_TYPE()> & task)
noexcept

将任务提交到全局线程池当中

模板参数
RETURN_TYPE返回值类型
参数
task任务
返回
std::shared_future 对象

引用了 sese::GlobalThreadPool::postTask().

◆ dynamicPointerCast() [1/2]

template<typename RETURN_TYPE , typename RAW_TYPE >
SharedType< RETURN_TYPE > sese::dynamicPointerCast ( SharedType< RAW_TYPE > raw_type)
inline

std::shared_ptr 的类型转换

模板参数
RETURN_TYPE预计返回 std::shared_ptr 的模板参数
RAW_TYPE原始的 std::shared_ptr 的模板参数
参数
raw_type需要转换的 std::shared_ptr
返回
std::shared_ptr<ReturnType>

◆ dynamicPointerCast() [2/2]

template<typename RETURN_TYPE , typename RAW_TYPE >
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
返回
std::unique_ptr<ReturnType>

◆ findFirstAt()

int32_t sese::findFirstAt ( const char * str,
char ch )

查找某字符在字符串中第一次出现的位置

参数
str在哪个字符串中
ch欲查找的字符
返回
第一次出现的位置,没有则返回 -1

引用了 at().

◆ floating2StringLength()

template<class T >
size_t sese::floating2StringLength ( T num,
uint16_t placeholder )

获取数字转字符串后所需的字节长度

注解
只能转换浮点数
模板参数
T入参浮点数类型
参数
num待转换的数字
placeholder精度
返回
数字字符串所需长度

引用了 number2StringLength().

被这些函数引用 sese::text::FormatOption_FloatNumberFormat() , 以及 sese::text::Number::toString().

◆ getClassName()

std::string sese::getClassName ( const std::type_info * type)

获取类的名称

参数
typeClass
返回
类的名称

◆ getErrorCode()

int32_t sese::getErrorCode ( )

获取 error 代码

返回
error 代码

被这些函数引用 sese::io::FileStream::createEx() , 以及 sese::Result< T >::fromLastError().

◆ getErrorString()

std::string sese::getErrorString ( int64_t error = errno)

获取报错信息

参数
error错误代码
返回
错误描述

被这些函数引用 sese::io::FileStream::createEx(), sese::Result< T >::fromLastError() , 以及 sese::net::getNetworkErrorString().

◆ getLevelString() [1/2]

const char * sese::getLevelString ( Level level)
noexcept

根据日志等级返回对应的字符串

参数
level日志等级
返回
字符串

◆ getLevelString() [2/2]

const char * sese::getLevelString ( record::Level level)
noexcept

◆ initCore()

void sese::initCore ( int argc,
const char *const * argv )
noexcept

初始化 sese-core

参数
argc参数个数
argv参数数组

引用了 sese::Initializer::addTask().

◆ isAdditionOverflow()

template<typename T >
bool sese::isAdditionOverflow ( T a,
T b )

加法溢出检测

引用了 a , 以及 b.

被这些函数引用 sese::internal::service::http::HttpConnectionEx::handleWindowUpdate().

◆ isSpace()

bool sese::isSpace ( char ch)
noexcept

判断字符是否属于空白

参数
ch欲判断的字符
返回
是否属于空白

引用了 SPACE_CHARS.

被这些函数引用 sese::Json::tokenizer(), sese::xml::XmlUtil::tokenizer() , 以及 sese::text::AbstractStringBuffer::trim().

◆ isSubtractionOverflow()

template<typename T >
bool sese::isSubtractionOverflow ( T a,
T b )

减法溢出检测

引用了 a , 以及 b.

◆ makeShared()

template<typename RETURN_TYPE , typename... ARGS>
SharedType< RETURN_TYPE > sese::makeShared ( ARGS &&... args)
inline

实例化 SharedType

模板参数
RETURN_TYPESharedType 模板参数
ARGS模板参数的构造函数参数类型
参数
args模板参数的构造函数参数
返回
SharedType<ReturnType>

◆ makeSharedFromList()

template<typename RETURN_TYPE , typename INIT_TYPE >
SharedType< RETURN_TYPE > sese::makeSharedFromList ( std::initializer_list< INIT_TYPE > list)

std::make_shared 搭配 std::initializer_list 使用

模板参数
RETURN_TYPE预计返回 std::shared_ptr 的模板类型
INIT_TYPEstd::initializer_list 模板参数
参数
list初始化列表
返回
std::shared_ptr<ReturnType>

◆ makeUnique()

template<typename RETURN_TYPE , typename... ARGS>
SharedType< RETURN_TYPE > sese::makeUnique ( ARGS &&... args)
inline

实例化 UniqueType

模板参数
RETURN_TYPEUniqueType 模板参数
ARGS模板参数的构造函数参数类型
参数
args模板参数的构造函数参数
返回
UniqueType<ReturnType>

◆ makeUniqueFromList()

template<typename RETURN_TYPE , typename INIT_TYPE >
UniqueType< RETURN_TYPE > sese::makeUniqueFromList ( std::initializer_list< INIT_TYPE > list)

std::make_unique 搭配 std::initializer_list 使用

模板参数
RETURN_TYPE预计返回 std::unique_ptr 的模板参数
INIT_TYPEstd::initializer_list 的模板参数
参数
list初始化列表
返回
std::unique_ptr<ReturnType>

◆ number2StringLength()

template<class T >
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().

◆ sleep() [1/2]

template<class REP , class PERIOD >
void sese::sleep ( const std::chrono::duration< REP, PERIOD > & duration)

使当前线程休眠一段时间,std 实现

◆ sleep() [2/2]

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().

◆ strcmp()

bool sese::strcmp ( char const * lv,
char const * rv )
noexcept

比较两个字符串是否相同

参数
lv字符串1
rv字符串2
返回
比较结果

被这些函数引用 sese::net::ws::WebsocketAuthenticator::verify().

◆ strcmpDoNotCase()

◆ streamMove()

size_t sese::streamMove ( sese::io::OutputStream * out,
sese::io::InputStream * in,
size_t size )
noexcept

移动流数据

参数
out输出流
in输入流
size移动大小
返回
实际移动大小

引用了 in().

被这些函数引用 sese::internal::service::http::HttpConnection::readBody() , 以及 sese::internal::service::http::HttpConnection::readHeader().

◆ to_time_t()

template<typename TP >
std::time_t sese::to_time_t ( TP tp)

时间类型转换

参见
https://stackoverflow.com/questions/61030383/how-to-convert-stdfilesystemfile-time-type-to-time-t
模板参数
TP转换对象类型
参数
tp转换对象
返回
std::time_t 类型的时间

被这些函数引用 sese::internal::service::http::HttpServiceImpl::handleRequest().

◆ toInteger()

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().

变量说明

◆ current_data

◆ is_iterable_v

template<typename T >
bool sese::is_iterable_v = is_iterable<T>::value
constexpr