Files
dl/document/html/classdl_1_1_stream_output.html
2026-09-16 14:07:40 +08:00

741 lines
41 KiB
HTML
Vendored

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>dl: dl::StreamOutput类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">dl
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','搜索',false);
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacedl.html">dl</a></li><li class="navelem"><a class="el" href="classdl_1_1_stream_output.html">StreamOutput</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="classdl_1_1_stream_output-members.html">所有成员列表</a> </div>
<div class="headertitle"><div class="title">dl::StreamOutput类 参考</div></div>
</div><!--header-->
<div class="contents">
<p>二进制输出流
<a href="#details">更多...</a></p>
<p><code>#include &lt;<a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a61a45abb54485d0ff58e5d92a0fbdea8" id="r_a61a45abb54485d0ff58e5d92a0fbdea8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61a45abb54485d0ff58e5d92a0fbdea8">StreamOutput</a> ()</td></tr>
<tr class="separator:a61a45abb54485d0ff58e5d92a0fbdea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b3965b5144ab58dac5f61459650daaa" id="r_a1b3965b5144ab58dac5f61459650daaa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b3965b5144ab58dac5f61459650daaa">~StreamOutput</a> ()</td></tr>
<tr class="separator:a1b3965b5144ab58dac5f61459650daaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57c56391960844b7593d2fe6d510dab4" id="r_a57c56391960844b7593d2fe6d510dab4"><td class="memItemLeft" align="right" valign="top">const std::byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a57c56391960844b7593d2fe6d510dab4">GetData</a> ()</td></tr>
<tr class="memdesc:a57c56391960844b7593d2fe6d510dab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回指向的内存指针 <br /></td></tr>
<tr class="separator:a57c56391960844b7593d2fe6d510dab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3b9135107d8b1d13ab8d3916b545fc6" id="r_ab3b9135107d8b1d13ab8d3916b545fc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdl_1_1_buffer_view.html">BufferView</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3b9135107d8b1d13ab8d3916b545fc6">GetBuffer</a> ()</td></tr>
<tr class="separator:ab3b9135107d8b1d13ab8d3916b545fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a615a482cfa139adef900cf44b14eed6e" id="r_a615a482cfa139adef900cf44b14eed6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdl_1_1_buffer.html">Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a615a482cfa139adef900cf44b14eed6e">ToBuffer</a> ()</td></tr>
<tr class="separator:a615a482cfa139adef900cf44b14eed6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ad1a7301369bbb69a9682034e84a88" id="r_ad9ad1a7301369bbb69a9682034e84a88"><td class="memTemplParams" colspan="2">template&lt;IsCopyable T&gt; </td></tr>
<tr class="memitem:ad9ad1a7301369bbb69a9682034e84a88"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ad9ad1a7301369bbb69a9682034e84a88">Write</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="memdesc:ad9ad1a7301369bbb69a9682034e84a88"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入一个对象 <br /></td></tr>
<tr class="separator:ad9ad1a7301369bbb69a9682034e84a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379b18b44fb059a477956f13d7c8c0de" id="r_a379b18b44fb059a477956f13d7c8c0de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a379b18b44fb059a477956f13d7c8c0de">Write</a> (const <a class="el" href="classdl_1_1_buffer.html">Buffer</a> *data)</td></tr>
<tr class="separator:a379b18b44fb059a477956f13d7c8c0de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac489b1daef14436834c2c78ab727e06" id="r_aac489b1daef14436834c2c78ab727e06"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:aac489b1daef14436834c2c78ab727e06"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aac489b1daef14436834c2c78ab727e06">Write64</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="memdesc:aac489b1daef14436834c2c78ab727e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入一个类型以64位,对于在64位平台的大小不一致,所以特殊处理 <br /></td></tr>
<tr class="separator:aac489b1daef14436834c2c78ab727e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f169f01ab8941a7a9d71c517c15d31" id="r_a20f169f01ab8941a7a9d71c517c15d31"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a20f169f01ab8941a7a9d71c517c15d31"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a20f169f01ab8941a7a9d71c517c15d31">WriteSize</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="memdesc:a20f169f01ab8941a7a9d71c517c15d31"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入容器的大小 <br /></td></tr>
<tr class="separator:a20f169f01ab8941a7a9d71c517c15d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d9d25e5b36b9ee18aea3e8e09ba3b08" id="r_a2d9d25e5b36b9ee18aea3e8e09ba3b08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d9d25e5b36b9ee18aea3e8e09ba3b08">WriteCString</a> (const char *str)</td></tr>
<tr class="memdesc:a2d9d25e5b36b9ee18aea3e8e09ba3b08"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入C风格字符串 <br /></td></tr>
<tr class="separator:a2d9d25e5b36b9ee18aea3e8e09ba3b08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6551e589dc6aaed4ea4b5c7249d6f179" id="r_a6551e589dc6aaed4ea4b5c7249d6f179"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a6551e589dc6aaed4ea4b5c7249d6f179"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a6551e589dc6aaed4ea4b5c7249d6f179">Write</a> (const std::list&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *container)</td></tr>
<tr class="separator:a6551e589dc6aaed4ea4b5c7249d6f179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69709a88369b87dcc3e219dd733dc97d" id="r_a69709a88369b87dcc3e219dd733dc97d"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a69709a88369b87dcc3e219dd733dc97d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a69709a88369b87dcc3e219dd733dc97d">Write</a> (const std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *container)</td></tr>
<tr class="separator:a69709a88369b87dcc3e219dd733dc97d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fad6c062628275eb0fdbe9420143d89" id="r_a5fad6c062628275eb0fdbe9420143d89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fad6c062628275eb0fdbe9420143d89">Write</a> (const std::string *str)</td></tr>
<tr class="separator:a5fad6c062628275eb0fdbe9420143d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dd360e47958c41c453b344479781375" id="r_a0dd360e47958c41c453b344479781375"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a0dd360e47958c41c453b344479781375"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a0dd360e47958c41c453b344479781375">Write</a> (const std::map&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &gt; *container)</td></tr>
<tr class="separator:a0dd360e47958c41c453b344479781375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26ead03e5a1ead931c3ec451a58425ae" id="r_a26ead03e5a1ead931c3ec451a58425ae"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </td></tr>
<tr class="memitem:a26ead03e5a1ead931c3ec451a58425ae"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a26ead03e5a1ead931c3ec451a58425ae">Write</a> (const std::unordered_map&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &gt; *container)</td></tr>
<tr class="separator:a26ead03e5a1ead931c3ec451a58425ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefd705a19421be889dccff2bedb565b3" id="r_aefd705a19421be889dccff2bedb565b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefd705a19421be889dccff2bedb565b3">Write</a> (const void *data, size_t byte_count)</td></tr>
<tr class="memdesc:aefd705a19421be889dccff2bedb565b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入一段数据,最基础操作 <br /></td></tr>
<tr class="separator:aefd705a19421be889dccff2bedb565b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aa0c5dd85d37b033020221b50f9db2f" id="r_a9aa0c5dd85d37b033020221b50f9db2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9aa0c5dd85d37b033020221b50f9db2f">Fill</a> (int val, size_t byte_count)</td></tr>
<tr class="memdesc:a9aa0c5dd85d37b033020221b50f9db2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">填充一段数据,本质调用memset <br /></td></tr>
<tr class="separator:a9aa0c5dd85d37b033020221b50f9db2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a700ab6fff5f143dbda14ad27d9e7a5" id="r_a3a700ab6fff5f143dbda14ad27d9e7a5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a700ab6fff5f143dbda14ad27d9e7a5">Save</a> (std::string_view path_name, bool compress=false)</td></tr>
<tr class="memdesc:a3a700ab6fff5f143dbda14ad27d9e7a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">保存到文件 <br /></td></tr>
<tr class="separator:a3a700ab6fff5f143dbda14ad27d9e7a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd0e77586a738b505659d052294926b0" id="r_afd0e77586a738b505659d052294926b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afd0e77586a738b505659d052294926b0">Clear</a> ()</td></tr>
<tr class="memdesc:afd0e77586a738b505659d052294926b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">清除数据(移动head标记到内存最开始) <br /></td></tr>
<tr class="separator:afd0e77586a738b505659d052294926b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cb8549c3cb6ed4c08bf53bff86b0bc5" id="r_a6cb8549c3cb6ed4c08bf53bff86b0bc5"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6cb8549c3cb6ed4c08bf53bff86b0bc5">GetPos</a> ()</td></tr>
<tr class="memdesc:a6cb8549c3cb6ed4c08bf53bff86b0bc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回 流位置 <br /></td></tr>
<tr class="separator:a6cb8549c3cb6ed4c08bf53bff86b0bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03a942b55f78ef607c2545f644144b91" id="r_a03a942b55f78ef607c2545f644144b91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a03a942b55f78ef607c2545f644144b91">SetPos</a> (size_t pos)</td></tr>
<tr class="memdesc:a03a942b55f78ef607c2545f644144b91"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置 流位置,如果内存不够会扩大 <br /></td></tr>
<tr class="separator:a03a942b55f78ef607c2545f644144b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0afcefdd7a34cb1ecbd5d53e63632c1e" id="r_a0afcefdd7a34cb1ecbd5d53e63632c1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0afcefdd7a34cb1ecbd5d53e63632c1e">Compress</a> (<a class="el" href="namespacedl_1_1_memory.html#aa643ad8b151b6299043afaed769ce838">Memory::CompressMode</a> mode)</td></tr>
<tr class="memdesc:a0afcefdd7a34cb1ecbd5d53e63632c1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">压缩当前内存 <br /></td></tr>
<tr class="separator:a0afcefdd7a34cb1ecbd5d53e63632c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabf888aff506e82a5a3651d9ee50c1a7" id="r_aabf888aff506e82a5a3651d9ee50c1a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aabf888aff506e82a5a3651d9ee50c1a7">SetDelete</a> (bool d)</td></tr>
<tr class="memdesc:aabf888aff506e82a5a3651d9ee50c1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">标记内存已经被移走所有权,析构函数不再释放 <br /></td></tr>
<tr class="separator:aabf888aff506e82a5a3651d9ee50c1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>二进制输出流 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00028">28</a> 行定义.</p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a61a45abb54485d0ff58e5d92a0fbdea8" name="a61a45abb54485d0ff58e5d92a0fbdea8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61a45abb54485d0ff58e5d92a0fbdea8">&#9670;&#160;</a></span>StreamOutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::StreamOutput::StreamOutput </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1b3965b5144ab58dac5f61459650daaa" name="a1b3965b5144ab58dac5f61459650daaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b3965b5144ab58dac5f61459650daaa">&#9670;&#160;</a></span>~StreamOutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::StreamOutput::~StreamOutput </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="afd0e77586a738b505659d052294926b0" name="afd0e77586a738b505659d052294926b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd0e77586a738b505659d052294926b0">&#9670;&#160;</a></span>Clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Clear </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>清除数据(移动head标记到内存最开始) </p>
</div>
</div>
<a id="a0afcefdd7a34cb1ecbd5d53e63632c1e" name="a0afcefdd7a34cb1ecbd5d53e63632c1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0afcefdd7a34cb1ecbd5d53e63632c1e">&#9670;&#160;</a></span>Compress()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Compress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacedl_1_1_memory.html#aa643ad8b151b6299043afaed769ce838">Memory::CompressMode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>压缩当前内存 </p>
</div>
</div>
<a id="a9aa0c5dd85d37b033020221b50f9db2f" name="a9aa0c5dd85d37b033020221b50f9db2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aa0c5dd85d37b033020221b50f9db2f">&#9670;&#160;</a></span>Fill()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Fill </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>val</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>byte_count</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>填充一段数据,本质调用memset </p>
</div>
</div>
<a id="ab3b9135107d8b1d13ab8d3916b545fc6" name="ab3b9135107d8b1d13ab8d3916b545fc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3b9135107d8b1d13ab8d3916b545fc6">&#9670;&#160;</a></span>GetBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classdl_1_1_buffer_view.html">BufferView</a> dl::StreamOutput::GetBuffer </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00040">40</a> 行定义.</p>
</div>
</div>
<a id="a57c56391960844b7593d2fe6d510dab4" name="a57c56391960844b7593d2fe6d510dab4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57c56391960844b7593d2fe6d510dab4">&#9670;&#160;</a></span>GetData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::byte * dl::StreamOutput::GetData </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>返回指向的内存指针 </p>
</div>
</div>
<a id="a6cb8549c3cb6ed4c08bf53bff86b0bc5" name="a6cb8549c3cb6ed4c08bf53bff86b0bc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cb8549c3cb6ed4c08bf53bff86b0bc5">&#9670;&#160;</a></span>GetPos()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t dl::StreamOutput::GetPos </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>返回 流位置 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00165">165</a> 行定义.</p>
</div>
</div>
<a id="a3a700ab6fff5f143dbda14ad27d9e7a5" name="a3a700ab6fff5f143dbda14ad27d9e7a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a700ab6fff5f143dbda14ad27d9e7a5">&#9670;&#160;</a></span>Save()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dl::StreamOutput::Save </td>
<td>(</td>
<td class="paramtype">std::string_view</td> <td class="paramname"><span class="paramname"><em>path_name</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>compress</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>保存到文件 </p>
</div>
</div>
<a id="aabf888aff506e82a5a3651d9ee50c1a7" name="aabf888aff506e82a5a3651d9ee50c1a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabf888aff506e82a5a3651d9ee50c1a7">&#9670;&#160;</a></span>SetDelete()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::SetDelete </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>d</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>标记内存已经被移走所有权,析构函数不再释放 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00180">180</a> 行定义.</p>
</div>
</div>
<a id="a03a942b55f78ef607c2545f644144b91" name="a03a942b55f78ef607c2545f644144b91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03a942b55f78ef607c2545f644144b91">&#9670;&#160;</a></span>SetPos()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::SetPos </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>pos</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>设置 流位置,如果内存不够会扩大 </p>
</div>
</div>
<a id="a615a482cfa139adef900cf44b14eed6e" name="a615a482cfa139adef900cf44b14eed6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a615a482cfa139adef900cf44b14eed6e">&#9670;&#160;</a></span>ToBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classdl_1_1_buffer.html">Buffer</a> dl::StreamOutput::ToBuffer </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00044">44</a> 行定义.</p>
</div>
</div>
<a id="a379b18b44fb059a477956f13d7c8c0de" name="a379b18b44fb059a477956f13d7c8c0de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379b18b44fb059a477956f13d7c8c0de">&#9670;&#160;</a></span>Write() <span class="overload">[1/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdl_1_1_buffer.html">Buffer</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00058">58</a> 行定义.</p>
</div>
</div>
<a id="a6551e589dc6aaed4ea4b5c7249d6f179" name="a6551e589dc6aaed4ea4b5c7249d6f179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6551e589dc6aaed4ea4b5c7249d6f179">&#9670;&#160;</a></span>Write() <span class="overload">[2/8]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const std::list&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *</td> <td class="paramname"><span class="paramname"><em>container</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00091">91</a> 行定义.</p>
</div>
</div>
<a id="a0dd360e47958c41c453b344479781375" name="a0dd360e47958c41c453b344479781375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dd360e47958c41c453b344479781375">&#9670;&#160;</a></span>Write() <span class="overload">[3/8]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const std::map&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &gt; *</td> <td class="paramname"><span class="paramname"><em>container</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00120">120</a> 行定义.</p>
</div>
</div>
<a id="a5fad6c062628275eb0fdbe9420143d89" name="a5fad6c062628275eb0fdbe9420143d89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fad6c062628275eb0fdbe9420143d89">&#9670;&#160;</a></span>Write() <span class="overload">[4/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const std::string *</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00110">110</a> 行定义.</p>
</div>
</div>
<a id="a26ead03e5a1ead931c3ec451a58425ae" name="a26ead03e5a1ead931c3ec451a58425ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26ead03e5a1ead931c3ec451a58425ae">&#9670;&#160;</a></span>Write() <span class="overload">[5/8]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const std::unordered_map&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132aa5f3c6a11b03839d46af9fb43c97c188">K</a>, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a5206560a306a2e085a437fd258eb57ce">V</a> &gt; *</td> <td class="paramname"><span class="paramname"><em>container</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00131">131</a> 行定义.</p>
</div>
</div>
<a id="a69709a88369b87dcc3e219dd733dc97d" name="a69709a88369b87dcc3e219dd733dc97d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69709a88369b87dcc3e219dd733dc97d">&#9670;&#160;</a></span>Write() <span class="overload">[6/8]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *</td> <td class="paramname"><span class="paramname"><em>container</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00101">101</a> 行定义.</p>
</div>
</div>
<a id="ad9ad1a7301369bbb69a9682034e84a88" name="ad9ad1a7301369bbb69a9682034e84a88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ad1a7301369bbb69a9682034e84a88">&#9670;&#160;</a></span>Write() <span class="overload">[7/8]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;IsCopyable T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>写入一个对象 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00053">53</a> 行定义.</p>
</div>
</div>
<a id="aefd705a19421be889dccff2bedb565b3" name="aefd705a19421be889dccff2bedb565b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefd705a19421be889dccff2bedb565b3">&#9670;&#160;</a></span>Write() <span class="overload">[8/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write </td>
<td>(</td>
<td class="paramtype">const void *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>byte_count</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>写入一段数据,最基础操作 </p>
</div>
</div>
<a id="aac489b1daef14436834c2c78ab727e06" name="aac489b1daef14436834c2c78ab727e06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac489b1daef14436834c2c78ab727e06">&#9670;&#160;</a></span>Write64()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::Write64 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>写入一个类型以64位,对于在64位平台的大小不一致,所以特殊处理 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00068">68</a> 行定义.</p>
</div>
</div>
<a id="a2d9d25e5b36b9ee18aea3e8e09ba3b08" name="a2d9d25e5b36b9ee18aea3e8e09ba3b08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d9d25e5b36b9ee18aea3e8e09ba3b08">&#9670;&#160;</a></span>WriteCString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::WriteCString </td>
<td>(</td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>写入C风格字符串 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00085">85</a> 行定义.</p>
</div>
</div>
<a id="a20f169f01ab8941a7a9d71c517c15d31" name="a20f169f01ab8941a7a9d71c517c15d31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20f169f01ab8941a7a9d71c517c15d31">&#9670;&#160;</a></span>WriteSize()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamOutput::WriteSize </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>写入容器的大小 </p>
<p class="definition">在文件 <a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a><a class="el" href="dl__stream__output_8h_source.html#l00077">77</a> 行定义.</p>
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>D:/dl/dl/memory/<a class="el" href="dl__stream__output_8h_source.html">dl_stream_output.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
</small></address>
</div><!-- doc-content -->
</body>
</html>