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

707 lines
39 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::StreamInput类 参考</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_input.html">StreamInput</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_input-members.html">所有成员列表</a> </div>
<div class="headertitle"><div class="title">dl::StreamInput类 参考</div></div>
</div><!--header-->
<div class="contents">
<p>二进制输入流
<a href="#details">更多...</a></p>
<p><code>#include &lt;<a class="el" href="dl__stream__input_8h_source.html">dl_stream_input.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:a4d7d92262dbf40e57ea4918b6818ab62" id="r_a4d7d92262dbf40e57ea4918b6818ab62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d7d92262dbf40e57ea4918b6818ab62">StreamInput</a> ()</td></tr>
<tr class="separator:a4d7d92262dbf40e57ea4918b6818ab62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2e169baefa49052de435bd9c6a61d26" id="r_ae2e169baefa49052de435bd9c6a61d26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2e169baefa49052de435bd9c6a61d26">~StreamInput</a> ()</td></tr>
<tr class="separator:ae2e169baefa49052de435bd9c6a61d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa38d669da045a53a489f40d8b55e889d" id="r_aa38d669da045a53a489f40d8b55e889d"><td class="memItemLeft" align="right" valign="top">const std::byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa38d669da045a53a489f40d8b55e889d">GetBuffer</a> ()</td></tr>
<tr class="separator:aa38d669da045a53a489f40d8b55e889d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aabda70f7f5e990656733b6bec8c783" id="r_a3aabda70f7f5e990656733b6bec8c783"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3aabda70f7f5e990656733b6bec8c783">GetSize</a> ()</td></tr>
<tr class="separator:a3aabda70f7f5e990656733b6bec8c783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45078239838139420b8d25dcf412f642" id="r_a45078239838139420b8d25dcf412f642"><td class="memTemplParams" colspan="2">template&lt;IsCopyable T&gt; </td></tr>
<tr class="memitem:a45078239838139420b8d25dcf412f642"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a45078239838139420b8d25dcf412f642">Read</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="separator:a45078239838139420b8d25dcf412f642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a458d72345d848d4e8bc0ad71a83e2163" id="r_a458d72345d848d4e8bc0ad71a83e2163"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a458d72345d848d4e8bc0ad71a83e2163"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a458d72345d848d4e8bc0ad71a83e2163">Read64</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="memdesc:a458d72345d848d4e8bc0ad71a83e2163"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入一个类型,写为64位,用于在64位平台的大小不一致,所以特殊处理 <br /></td></tr>
<tr class="separator:a458d72345d848d4e8bc0ad71a83e2163"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac80f0c1cc2245cdec5e3bff51766b66d" id="r_ac80f0c1cc2245cdec5e3bff51766b66d"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:ac80f0c1cc2245cdec5e3bff51766b66d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ac80f0c1cc2245cdec5e3bff51766b66d">ReadSize</a> (<a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> *data)</td></tr>
<tr class="memdesc:ac80f0c1cc2245cdec5e3bff51766b66d"><td class="mdescLeft">&#160;</td><td class="mdescRight">读入容器的大小,并修改容器至目标大小 <br /></td></tr>
<tr class="separator:ac80f0c1cc2245cdec5e3bff51766b66d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8cf55816923103505baece803744e15" id="r_aa8cf55816923103505baece803744e15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8cf55816923103505baece803744e15">ReadCString</a> (const char *str)</td></tr>
<tr class="memdesc:aa8cf55816923103505baece803744e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">写入C风格字符串 <br /></td></tr>
<tr class="separator:aa8cf55816923103505baece803744e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66126c9fe0ff760734cf84f64b0f70e" id="r_ae66126c9fe0ff760734cf84f64b0f70e"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:ae66126c9fe0ff760734cf84f64b0f70e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ae66126c9fe0ff760734cf84f64b0f70e">StreamReadEqual</a> (const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;v)</td></tr>
<tr class="memdesc:ae66126c9fe0ff760734cf84f64b0f70e"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取后判断相等 <br /></td></tr>
<tr class="separator:ae66126c9fe0ff760734cf84f64b0f70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26495de7435126638e1bbab9f96e9b89" id="r_a26495de7435126638e1bbab9f96e9b89"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:a26495de7435126638e1bbab9f96e9b89"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a26495de7435126638e1bbab9f96e9b89">Read</a> (std::list&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *container)</td></tr>
<tr class="separator:a26495de7435126638e1bbab9f96e9b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae267cc1d37cd683b47195212d8b7d196" id="r_ae267cc1d37cd683b47195212d8b7d196"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>&gt; </td></tr>
<tr class="memitem:ae267cc1d37cd683b47195212d8b7d196"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ae267cc1d37cd683b47195212d8b7d196">Read</a> (std::vector&lt; <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &gt; *container)</td></tr>
<tr class="separator:ae267cc1d37cd683b47195212d8b7d196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d9beee65811b36b76e56318aafe5591" id="r_a4d9beee65811b36b76e56318aafe5591"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d9beee65811b36b76e56318aafe5591">Read</a> (std::string *str)</td></tr>
<tr class="separator:a4d9beee65811b36b76e56318aafe5591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5408db0690e1f5670de581c9c42cb3d" id="r_aa5408db0690e1f5670de581c9c42cb3d"><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:aa5408db0690e1f5670de581c9c42cb3d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aa5408db0690e1f5670de581c9c42cb3d">Read</a> (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:aa5408db0690e1f5670de581c9c42cb3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26c05c1922c0603c453c602ba76f2809" id="r_a26c05c1922c0603c453c602ba76f2809"><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:a26c05c1922c0603c453c602ba76f2809"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a26c05c1922c0603c453c602ba76f2809">Read</a> (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:a26c05c1922c0603c453c602ba76f2809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab68ed6e89253404c9d02c71e8c57f5f" id="r_aab68ed6e89253404c9d02c71e8c57f5f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aab68ed6e89253404c9d02c71e8c57f5f">Read</a> (void *data, size_t byte_count)</td></tr>
<tr class="separator:aab68ed6e89253404c9d02c71e8c57f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82688a5d8df6de9ea1af6139b5fdfd11" id="r_a82688a5d8df6de9ea1af6139b5fdfd11"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a82688a5d8df6de9ea1af6139b5fdfd11">LoadFromFile</a> (std::string_view path_name, bool decompress=false, size_t length=0)</td></tr>
<tr class="memdesc:a82688a5d8df6de9ea1af6139b5fdfd11"><td class="mdescLeft">&#160;</td><td class="mdescRight">从文件读到内存,可选长度 <br /></td></tr>
<tr class="separator:a82688a5d8df6de9ea1af6139b5fdfd11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d58645e120c590fe3834c632ada39e" id="r_aa8d58645e120c590fe3834c632ada39e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8d58645e120c590fe3834c632ada39e">LoadFromMemory</a> (<a class="el" href="classdl_1_1_buffer_view.html">BufferView</a> buf, bool decompress=false)</td></tr>
<tr class="separator:aa8d58645e120c590fe3834c632ada39e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0e9e054178dfb121d3726354a620073" id="r_ac0e9e054178dfb121d3726354a620073"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac0e9e054178dfb121d3726354a620073">GetPos</a> ()</td></tr>
<tr class="separator:ac0e9e054178dfb121d3726354a620073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a259a227d38240ecd16647d8b862a30" id="r_a6a259a227d38240ecd16647d8b862a30"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a259a227d38240ecd16647d8b862a30">GetRemain</a> ()</td></tr>
<tr class="separator:a6a259a227d38240ecd16647d8b862a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad552c49251d58a4139f32e2627776439" id="r_ad552c49251d58a4139f32e2627776439"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad552c49251d58a4139f32e2627776439">SetPos</a> (size_t pos)</td></tr>
<tr class="separator:ad552c49251d58a4139f32e2627776439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf2a19330fede219ef0e156550146004" id="r_aaf2a19330fede219ef0e156550146004"><td class="memItemLeft" align="right" valign="top">std::byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf2a19330fede219ef0e156550146004">GetCurrent</a> ()</td></tr>
<tr class="separator:aaf2a19330fede219ef0e156550146004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6dcb1cc4021576f6ade1ef13510d260" id="r_ab6dcb1cc4021576f6ade1ef13510d260"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6dcb1cc4021576f6ade1ef13510d260">IsEnd</a> ()</td></tr>
<tr class="separator:ab6dcb1cc4021576f6ade1ef13510d260"><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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00031">31</a> 行定义.</p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a4d7d92262dbf40e57ea4918b6818ab62" name="a4d7d92262dbf40e57ea4918b6818ab62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d7d92262dbf40e57ea4918b6818ab62">&#9670;&#160;</a></span>StreamInput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::StreamInput::StreamInput </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="ae2e169baefa49052de435bd9c6a61d26" name="ae2e169baefa49052de435bd9c6a61d26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2e169baefa49052de435bd9c6a61d26">&#9670;&#160;</a></span>~StreamInput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::StreamInput::~StreamInput </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="aa38d669da045a53a489f40d8b55e889d" name="aa38d669da045a53a489f40d8b55e889d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa38d669da045a53a489f40d8b55e889d">&#9670;&#160;</a></span>GetBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::byte * dl::StreamInput::GetBuffer </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="aaf2a19330fede219ef0e156550146004" name="aaf2a19330fede219ef0e156550146004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf2a19330fede219ef0e156550146004">&#9670;&#160;</a></span>GetCurrent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::byte * dl::StreamInput::GetCurrent </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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00197">197</a> 行定义.</p>
</div>
</div>
<a id="ac0e9e054178dfb121d3726354a620073" name="ac0e9e054178dfb121d3726354a620073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0e9e054178dfb121d3726354a620073">&#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::StreamInput::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 class="definition">在文件 <a class="el" href="dl__stream__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00193">193</a> 行定义.</p>
</div>
</div>
<a id="a6a259a227d38240ecd16647d8b862a30" name="a6a259a227d38240ecd16647d8b862a30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a259a227d38240ecd16647d8b862a30">&#9670;&#160;</a></span>GetRemain()</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::StreamInput::GetRemain </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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00194">194</a> 行定义.</p>
</div>
</div>
<a id="a3aabda70f7f5e990656733b6bec8c783" name="a3aabda70f7f5e990656733b6bec8c783"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aabda70f7f5e990656733b6bec8c783">&#9670;&#160;</a></span>GetSize()</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::StreamInput::GetSize </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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00038">38</a> 行定义.</p>
</div>
</div>
<a id="ab6dcb1cc4021576f6ade1ef13510d260" name="ab6dcb1cc4021576f6ade1ef13510d260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6dcb1cc4021576f6ade1ef13510d260">&#9670;&#160;</a></span>IsEnd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dl::StreamInput::IsEnd </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="a82688a5d8df6de9ea1af6139b5fdfd11" name="a82688a5d8df6de9ea1af6139b5fdfd11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82688a5d8df6de9ea1af6139b5fdfd11">&#9670;&#160;</a></span>LoadFromFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dl::StreamInput::LoadFromFile </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>decompress</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>length</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>从文件读到内存,可选长度 </p>
<dl class="section note"><dt>注解</dt><dd>需要解压时,必须全部读完,将忽略length </dd></dl>
</div>
</div>
<a id="aa8d58645e120c590fe3834c632ada39e" name="aa8d58645e120c590fe3834c632ada39e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8d58645e120c590fe3834c632ada39e">&#9670;&#160;</a></span>LoadFromMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamInput::LoadFromMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdl_1_1_buffer_view.html">BufferView</a></td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>decompress</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a26495de7435126638e1bbab9f96e9b89" name="a26495de7435126638e1bbab9f96e9b89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26495de7435126638e1bbab9f96e9b89">&#9670;&#160;</a></span>Read() <span class="overload">[1/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00092">92</a> 行定义.</p>
</div>
</div>
<a id="aa5408db0690e1f5670de581c9c42cb3d" name="aa5408db0690e1f5670de581c9c42cb3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5408db0690e1f5670de581c9c42cb3d">&#9670;&#160;</a></span>Read() <span class="overload">[2/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00142">142</a> 行定义.</p>
</div>
</div>
<a id="a4d9beee65811b36b76e56318aafe5591" name="a4d9beee65811b36b76e56318aafe5591"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d9beee65811b36b76e56318aafe5591">&#9670;&#160;</a></span>Read() <span class="overload">[3/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00125">125</a> 行定义.</p>
</div>
</div>
<a id="a26c05c1922c0603c453c602ba76f2809" name="a26c05c1922c0603c453c602ba76f2809"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26c05c1922c0603c453c602ba76f2809">&#9670;&#160;</a></span>Read() <span class="overload">[4/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00162">162</a> 行定义.</p>
</div>
</div>
<a id="ae267cc1d37cd683b47195212d8b7d196" name="ae267cc1d37cd683b47195212d8b7d196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae267cc1d37cd683b47195212d8b7d196">&#9670;&#160;</a></span>Read() <span class="overload">[5/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00109">109</a> 行定义.</p>
</div>
</div>
<a id="a45078239838139420b8d25dcf412f642" name="a45078239838139420b8d25dcf412f642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45078239838139420b8d25dcf412f642">&#9670;&#160;</a></span>Read() <span class="overload">[6/7]</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::StreamInput::Read </td>
<td>(</td>
<td class="paramtype"><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 class="definition">在文件 <a class="el" href="dl__stream__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00041">41</a> 行定义.</p>
</div>
</div>
<a id="aab68ed6e89253404c9d02c71e8c57f5f" name="aab68ed6e89253404c9d02c71e8c57f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab68ed6e89253404c9d02c71e8c57f5f">&#9670;&#160;</a></span>Read() <span class="overload">[7/7]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dl::StreamInput::Read </td>
<td>(</td>
<td class="paramtype">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">
</div>
</div>
<a id="a458d72345d848d4e8bc0ad71a83e2163" name="a458d72345d848d4e8bc0ad71a83e2163"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a458d72345d848d4e8bc0ad71a83e2163">&#9670;&#160;</a></span>Read64()</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::StreamInput::Read64 </td>
<td>(</td>
<td class="paramtype"><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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00050">50</a> 行定义.</p>
</div>
</div>
<a id="aa8cf55816923103505baece803744e15" name="aa8cf55816923103505baece803744e15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8cf55816923103505baece803744e15">&#9670;&#160;</a></span>ReadCString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::StreamInput::ReadCString </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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00069">69</a> 行定义.</p>
</div>
</div>
<a id="ac80f0c1cc2245cdec5e3bff51766b66d" name="ac80f0c1cc2245cdec5e3bff51766b66d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac80f0c1cc2245cdec5e3bff51766b66d">&#9670;&#160;</a></span>ReadSize()</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::StreamInput::ReadSize </td>
<td>(</td>
<td class="paramtype"><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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00060">60</a> 行定义.</p>
</div>
</div>
<a id="ad552c49251d58a4139f32e2627776439" name="ad552c49251d58a4139f32e2627776439"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad552c49251d58a4139f32e2627776439">&#9670;&#160;</a></span>SetPos()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::StreamInput::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">
</div>
</div>
<a id="ae66126c9fe0ff760734cf84f64b0f70e" name="ae66126c9fe0ff760734cf84f64b0f70e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66126c9fe0ff760734cf84f64b0f70e">&#9670;&#160;</a></span>StreamReadEqual()</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">bool dl::StreamInput::StreamReadEqual </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;</td> <td class="paramname"><span class="paramname"><em>v</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__input_8h_source.html">dl_stream_input.h</a><a class="el" href="dl__stream__input_8h_source.html#l00083">83</a> 行定义.</p>
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>D:/dl/dl/memory/<a class="el" href="dl__stream__input_8h_source.html">dl_stream_input.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>