dl
dl::StreamOutput类 参考

二进制输出流 更多...

#include <dl_stream_output.h>

Public 成员函数

 StreamOutput ()
 
 ~StreamOutput ()
 
const std::byte * GetData ()
 返回指向的内存指针
 
BufferView GetBuffer ()
 
Buffer ToBuffer ()
 
template<IsCopyable T>
void Write (const T *data)
 写入一个对象
 
void Write (const Buffer *data)
 
template<typename T>
void Write64 (const T *data)
 写入一个类型以64位,对于在64位平台的大小不一致,所以特殊处理
 
template<typename T>
void WriteSize (const T *data)
 写入容器的大小
 
void WriteCString (const char *str)
 写入C风格字符串
 
template<typename T>
void Write (const std::list< T > *container)
 
template<typename T>
void Write (const std::vector< T > *container)
 
void Write (const std::string *str)
 
template<typename K, typename V>
void Write (const std::map< K, V > *container)
 
template<typename K, typename V>
void Write (const std::unordered_map< K, V > *container)
 
void Write (const void *data, size_t byte_count)
 写入一段数据,最基础操作
 
void Fill (int val, size_t byte_count)
 填充一段数据,本质调用memset
 
bool Save (std::string_view path_name, bool compress=false)
 保存到文件
 
void Clear ()
 清除数据(移动head标记到内存最开始)
 
size_t GetPos ()
 返回 流位置
 
void SetPos (size_t pos)
 设置 流位置,如果内存不够会扩大
 
void Compress (Memory::CompressMode mode)
 压缩当前内存
 
void SetDelete (bool d)
 标记内存已经被移走所有权,析构函数不再释放
 

详细描述

二进制输出流

在文件 dl_stream_output.h28 行定义.

构造及析构函数说明

◆ StreamOutput()

dl::StreamOutput::StreamOutput ( )

◆ ~StreamOutput()

dl::StreamOutput::~StreamOutput ( )

成员函数说明

◆ Clear()

void dl::StreamOutput::Clear ( )

清除数据(移动head标记到内存最开始)

◆ Compress()

void dl::StreamOutput::Compress ( Memory::CompressMode mode)

压缩当前内存

◆ Fill()

void dl::StreamOutput::Fill ( int val,
size_t byte_count )

填充一段数据,本质调用memset

◆ GetBuffer()

BufferView dl::StreamOutput::GetBuffer ( )
inline

在文件 dl_stream_output.h40 行定义.

◆ GetData()

const std::byte * dl::StreamOutput::GetData ( )

返回指向的内存指针

◆ GetPos()

size_t dl::StreamOutput::GetPos ( )
inline

返回 流位置

在文件 dl_stream_output.h165 行定义.

◆ Save()

bool dl::StreamOutput::Save ( std::string_view path_name,
bool compress = false )

保存到文件

◆ SetDelete()

void dl::StreamOutput::SetDelete ( bool d)
inline

标记内存已经被移走所有权,析构函数不再释放

在文件 dl_stream_output.h180 行定义.

◆ SetPos()

void dl::StreamOutput::SetPos ( size_t pos)

设置 流位置,如果内存不够会扩大

◆ ToBuffer()

Buffer dl::StreamOutput::ToBuffer ( )
inline

在文件 dl_stream_output.h44 行定义.

◆ Write() [1/8]

void dl::StreamOutput::Write ( const Buffer * data)
inline

在文件 dl_stream_output.h58 行定义.

◆ Write() [2/8]

template<typename T>
void dl::StreamOutput::Write ( const std::list< T > * container)
inline

在文件 dl_stream_output.h91 行定义.

◆ Write() [3/8]

template<typename K, typename V>
void dl::StreamOutput::Write ( const std::map< K, V > * container)
inline

在文件 dl_stream_output.h120 行定义.

◆ Write() [4/8]

void dl::StreamOutput::Write ( const std::string * str)
inline

在文件 dl_stream_output.h110 行定义.

◆ Write() [5/8]

template<typename K, typename V>
void dl::StreamOutput::Write ( const std::unordered_map< K, V > * container)
inline

在文件 dl_stream_output.h131 行定义.

◆ Write() [6/8]

template<typename T>
void dl::StreamOutput::Write ( const std::vector< T > * container)
inline

在文件 dl_stream_output.h101 行定义.

◆ Write() [7/8]

template<IsCopyable T>
void dl::StreamOutput::Write ( const T * data)
inline

写入一个对象

在文件 dl_stream_output.h53 行定义.

◆ Write() [8/8]

void dl::StreamOutput::Write ( const void * data,
size_t byte_count )

写入一段数据,最基础操作

◆ Write64()

template<typename T>
void dl::StreamOutput::Write64 ( const T * data)
inline

写入一个类型以64位,对于在64位平台的大小不一致,所以特殊处理

在文件 dl_stream_output.h68 行定义.

◆ WriteCString()

void dl::StreamOutput::WriteCString ( const char * str)
inline

写入C风格字符串

在文件 dl_stream_output.h85 行定义.

◆ WriteSize()

template<typename T>
void dl::StreamOutput::WriteSize ( const T * data)
inline

写入容器的大小

在文件 dl_stream_output.h77 行定义.


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