cpp-utilities/doc/html/binaryreader_8cpp_source.html

554 lines
96 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>Utilities: io/binaryreader.cpp Source File</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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Utilities
&#160;<span id="projectnumber">1</span>
</div>
<div id="projectbrief">Collection of utility classes and functions used by my C++ applications.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bc161955dc3a3d2485839eba21420d01.html">io</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">binaryreader.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="binaryreader_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="binaryreader_8h.html">binaryreader.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="conversionexception_8h.html">conversion/conversionexception.h</a>&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceIoUtilities.html">IoUtilities</a>;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceConversionUtilities.html">ConversionUtilities</a>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#aa0c1a82f6c473ca9034329477dfab202"> 28</a></span>&#160;BinaryReader::BinaryReader(istream *stream, <a class="code" href="namespaceConversionUtilities.html#ab037dd2e3add89397e710e087b9e6462">ByteOrder</a> byteOrder) :</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; m_stream(stream),</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; m_ownership(false),</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; m_streamsize(0),</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; m_byteOrder(byteOrder)</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a918fa2fe9dd6e077b30829e9995741f8"> 40</a></span>&#160;<a class="code" href="classIoUtilities_1_1BinaryReader.html#aa0c1a82f6c473ca9034329477dfab202">BinaryReader::BinaryReader</a>(<span class="keyword">const</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html">BinaryReader</a> &amp;other) :</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; m_stream(other.m_stream),</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; m_ownership(false),</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; m_streamsize(other.m_streamsize),</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; m_byteOrder(other.m_byteOrder)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a32a4fe688e94789fa6231522f7c6e320"> 50</a></span>&#160;<a class="code" href="classIoUtilities_1_1BinaryReader.html#a32a4fe688e94789fa6231522f7c6e320">BinaryReader::~BinaryReader</a>()</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span>(m_stream &amp;&amp; m_ownership)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">delete</span> m_stream;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a1594b976dce77b0a7b52a347efb40037"> 61</a></span>&#160;istream *<a class="code" href="classIoUtilities_1_1BinaryReader.html#a9d6ec9db7c4161a2d3041d9a59b9d0fc">BinaryReader::stream</a>()</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;{</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> m_stream;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a9d6ec9db7c4161a2d3041d9a59b9d0fc"> 71</a></span>&#160;<span class="keyword">const</span> istream *<a class="code" href="classIoUtilities_1_1BinaryReader.html#a9d6ec9db7c4161a2d3041d9a59b9d0fc">BinaryReader::stream</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> m_stream;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a4148b35b25818d058248c5ebfed5f95b"> 87</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a4148b35b25818d058248c5ebfed5f95b">BinaryReader::setStream</a>(istream *stream, <span class="keywordtype">bool</span> giveOwnership)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span>(m_stream &amp;&amp; m_ownership) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">delete</span> m_stream;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span>(stream) {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; m_stream = <a class="code" href="classIoUtilities_1_1BinaryReader.html#a9d6ec9db7c4161a2d3041d9a59b9d0fc">stream</a>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; m_ownership = <a class="code" href="classIoUtilities_1_1BinaryReader.html#a9c1945fdb5510788e4605abc4e0963d3">giveOwnership</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; m_stream = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; m_ownership = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; m_streamsize = 0;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a58b3f558aa72fed44e0afdf0c958a62e"> 111</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a58b3f558aa72fed44e0afdf0c958a62e">BinaryReader::hasOwnership</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> m_ownership;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a9c1945fdb5510788e4605abc4e0963d3"> 123</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a9c1945fdb5510788e4605abc4e0963d3">BinaryReader::giveOwnership</a>()</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span>(m_stream) {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; m_ownership = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a7439a256289dc3e7ac99a9eb0b2964bd"> 137</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a7439a256289dc3e7ac99a9eb0b2964bd">BinaryReader::detatchOwnership</a>()</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; m_ownership = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a442afc588a1d91bb7969fc8146f66d38"> 148</a></span>&#160;<a class="code" href="namespaceConversionUtilities.html#ab037dd2e3add89397e710e087b9e6462">ByteOrder</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a442afc588a1d91bb7969fc8146f66d38">BinaryReader::byteOrder</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> m_byteOrder;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a5c3b1e48964a61a7b035a9571147d5b5"> 159</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a5c3b1e48964a61a7b035a9571147d5b5">BinaryReader::setByteOrder</a>(<a class="code" href="namespaceConversionUtilities.html#ab037dd2e3add89397e710e087b9e6462">ByteOrder</a> value)</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;{</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; m_byteOrder = value;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a43a794b7a7278f78404eff446aa3cf97"> 167</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a43a794b7a7278f78404eff446aa3cf97">BinaryReader::fail</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span>(m_stream)</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> m_stream-&gt;fail();</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;}</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a0ea3026ecdb50182bd6ad1e7d7c36266"> 178</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a0ea3026ecdb50182bd6ad1e7d7c36266">BinaryReader::eof</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span>(m_stream)</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> m_stream-&gt;eof();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#ab692463df1a93d8faeec3efe0c2e9835"> 189</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#ab692463df1a93d8faeec3efe0c2e9835">BinaryReader::canRead</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span>(m_stream)</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> !(m_stream-&gt;fail() || m_stream-&gt;eof());</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a7c4e610b5aef604ea000f2ad38a3aaf3"> 203</a></span>&#160;istream::pos_type <a class="code" href="classIoUtilities_1_1BinaryReader.html#a7c4e610b5aef604ea000f2ad38a3aaf3">BinaryReader::readStreamsize</a>()</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;{</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; istream::pos_type cp = m_stream-&gt;tellg();</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; m_stream-&gt;seekg(0, ios_base::end);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; m_streamsize = m_stream-&gt;tellg();</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; m_stream-&gt;seekg(cp);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> m_streamsize;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#ab0030207af4b09ee7f4dad5f3b2ab77e"> 215</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#ab0030207af4b09ee7f4dad5f3b2ab77e">BinaryReader::read</a>(<span class="keywordtype">char</span> *buffer, std::streamsize length)</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;{</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; m_stream-&gt;read(buffer, length);</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#aa6478c63229728bdae8ed599be39addb"> 223</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#ab0030207af4b09ee7f4dad5f3b2ab77e">BinaryReader::read</a>(<a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> *buffer, std::streamsize length)</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;{</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; m_stream-&gt;read(reinterpret_cast&lt;char *&gt;(buffer), length);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;}</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a586ca3871a636e99e6387ea3da33dc96"> 231</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#ab0030207af4b09ee7f4dad5f3b2ab77e">BinaryReader::read</a>(std::vector&lt;char&gt; &amp;buffer, std::streamsize length)</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; buffer.resize(length);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; m_stream-&gt;read(buffer.data(), length);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a0ee6ad0b3bc3f65b90710735547ede37"> 240</a></span>&#160;<a class="code" href="types_8h.html#a0bf9964a3ce962c07ad3d8b5432bbbcd">int32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a0ee6ad0b3bc3f65b90710735547ede37">BinaryReader::readInt32</a>()</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;{</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#a0bf9964a3ce962c07ad3d8b5432bbbcd">int32</a>)];</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#a0bf9964a3ce962c07ad3d8b5432bbbcd">int32</a>));</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a42e285b2477d09da50843509489e1921">toInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a24442ab054eca1db5b1ba5c62f5fb514"> 250</a></span>&#160;<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a24442ab054eca1db5b1ba5c62f5fb514">BinaryReader::readUInt32</a>()</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;{</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a>)];</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a>));</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a9211880ac3c53f1ecb8b41beee6ba309">toUInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;}</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a52338eb3fe7f0b5892949ddf134667d2"> 260</a></span>&#160;<a class="code" href="types_8h.html#aecf4e3680a32207d17f62a3426731878">int16</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a52338eb3fe7f0b5892949ddf134667d2">BinaryReader::readInt16</a>()</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;{</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#aecf4e3680a32207d17f62a3426731878">int16</a>)];</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#aecf4e3680a32207d17f62a3426731878">int16</a>));</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a62a906eca728bef59fe430448a32f0df">toInt16</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a27408cdcfc1a68305a97a88e69a2ddb3"> 270</a></span>&#160;<a class="code" href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a27408cdcfc1a68305a97a88e69a2ddb3">BinaryReader::readUInt16</a>()</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;{</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a>)];</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a>));</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a355159c7559a4133169c93d44bbb8162">toUInt16</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a7a6da8e5ac193a0047fd91f4aed48db5"> 280</a></span>&#160;<a class="code" href="types_8h.html#a0bf9964a3ce962c07ad3d8b5432bbbcd">int32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a7a6da8e5ac193a0047fd91f4aed48db5">BinaryReader::readInt24</a>()</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;{</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">char</span> buff[4] = {0};</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">switch</span>(m_byteOrder) {</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> ByteOrder::BigEndian:</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; m_stream-&gt;read(buff + 1, 3);</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a42e285b2477d09da50843509489e1921">toInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">case</span> ByteOrder::LittleEndian:</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; m_stream-&gt;read(buff, 3);</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a42e285b2477d09da50843509489e1921">toInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;}</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#aa100731e0d17411eef083ddf61137b79"> 297</a></span>&#160;<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#aa100731e0d17411eef083ddf61137b79">BinaryReader::readUInt24</a>()</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;{</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordtype">char</span> buff[4] = {0};</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">switch</span>(m_byteOrder) {</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">case</span> ByteOrder::BigEndian:</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; m_stream-&gt;read(buff + 1, 3);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a9211880ac3c53f1ecb8b41beee6ba309">toUInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">case</span> ByteOrder::LittleEndian:</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; m_stream-&gt;read(buff, 3);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a9211880ac3c53f1ecb8b41beee6ba309">toUInt32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;}</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#adf155f0fdb6f4e4997c1987a72aacf1e"> 314</a></span>&#160;<a class="code" href="types_8h.html#ad7a3bd3be7bd59e7fb6337fcbc956eb1">int64</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#adf155f0fdb6f4e4997c1987a72aacf1e">BinaryReader::readInt64</a>()</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ad7a3bd3be7bd59e7fb6337fcbc956eb1">int64</a>)];</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ad7a3bd3be7bd59e7fb6337fcbc956eb1">int64</a>));</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a4a22d349af363310845f8ca0d6da8a60">toInt64</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;}</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#ab6d50a7e7ff4ae34331811e3c0d0c670"> 324</a></span>&#160;<a class="code" href="types_8h.html#ac4dd6ce78ce3b840c53bd4b3c63ed09b">uint64</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#ab6d50a7e7ff4ae34331811e3c0d0c670">BinaryReader::readUInt64</a>()</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ac4dd6ce78ce3b840c53bd4b3c63ed09b">uint64</a>)];</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(<a class="code" href="types_8h.html#ac4dd6ce78ce3b840c53bd4b3c63ed09b">uint64</a>));</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a911dc859fa61a5085c699ede8dcf35a4">toUInt64</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;}</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#af0d48f4560d91753918dbc38782f7dd9"> 334</a></span>&#160;float32 <a class="code" href="classIoUtilities_1_1BinaryReader.html#af0d48f4560d91753918dbc38782f7dd9">BinaryReader::readFloat32</a>()</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;{</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(float32)];</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(float32));</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a8298e53543ef9c1a4b1d04e86f371588">toFloat32</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div>
<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a8208cebd3f943cac3ce8a24449d7319b"> 344</a></span>&#160;float64 <a class="code" href="classIoUtilities_1_1BinaryReader.html#a8208cebd3f943cac3ce8a24449d7319b">BinaryReader::readFloat64</a>()</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;{</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordtype">char</span> buff[<span class="keyword">sizeof</span>(float64)];</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(float64));</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a7674e91b147de42358d47afd67970fab">toFloat64</a>(buff, 0, m_byteOrder);</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;}</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a7fbfc629f5437eb8983419dac838c827"> 354</a></span>&#160;<span class="keywordtype">char</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a7fbfc629f5437eb8983419dac838c827">BinaryReader::readChar</a>()</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;{</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordtype">char</span> buff[1];</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(buff));</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> buff[0];</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;}</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#acd3115398ae6f9636eaa9b235518182c"> 364</a></span>&#160;<a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#acd3115398ae6f9636eaa9b235518182c">BinaryReader::readByte</a>()</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;{</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordtype">char</span> buff[1];</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; m_stream-&gt;read(buff, <span class="keyword">sizeof</span>(buff));</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a><span class="keyword">&gt;</span>(buff[0]);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;}</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a6ec528d352f158faf8f379d1e8f72f8f"> 374</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a6ec528d352f158faf8f379d1e8f72f8f">BinaryReader::readBool</a>()</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;{</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#acd3115398ae6f9636eaa9b235518182c">readByte</a>() &gt; 0;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#adf0aed87f84ec85eb9e2f0277a9c66cd"> 385</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#adf0aed87f84ec85eb9e2f0277a9c66cd">BinaryReader::readLengthPrefixedString</a>()</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;{</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> maxPrefixLength = 4;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">int</span> prefixLength = 1;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> beg = m_stream-&gt;peek();</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> mask = 0x80;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">while</span>(prefixLength &lt;= maxPrefixLength &amp;&amp; (beg &amp; mask) == 0) {</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; ++prefixLength;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; mask &gt;&gt;= 1;</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span>(prefixLength &gt; maxPrefixLength) {</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classConversionUtilities_1_1ConversionException.html">ConversionException</a>(<span class="stringliteral">&quot;Length denotation of length-prefixed string exceeds maximum.&quot;</span>);</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordtype">char</span> buff[maxPrefixLength] = {0};</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; m_stream-&gt;read(buff + (maxPrefixLength - prefixLength), prefixLength);</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; *(buff + (maxPrefixLength - prefixLength)) ^= mask;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> prefix = <a class="code" href="namespaceConversionUtilities.html#a9211880ac3c53f1ecb8b41beee6ba309">toUInt32</a>(buff, 0, ByteOrder::BigEndian);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a92622e30e76b6fcaf40d78c653eece8d">readString</a>(prefix);</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment">// if((m_streamsize &lt;= 0)</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment">// || ((m_stream-&gt;tellg() + static_cast&lt;istream::pos_type&gt;(length)) &lt;= m_streamsize)) {</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="comment">// return readString(length);</span></div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<span class="comment">// } else {</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;<span class="comment">// return string();</span></div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="comment">// }</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;}</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div>
<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a92622e30e76b6fcaf40d78c653eece8d"> 414</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a92622e30e76b6fcaf40d78c653eece8d">BinaryReader::readString</a>(<span class="keywordtype">size_t</span> length)</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;{</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; unique_ptr&lt;char []&gt; buff(<span class="keyword">new</span> <span class="keywordtype">char</span>[length]);</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; m_stream-&gt;read(buff.get(), length);</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordtype">string</span> res(buff.get(), length);</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> res;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
<div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a80e49639bff8e400f37c9d81a63ec3d8"> 429</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a80e49639bff8e400f37c9d81a63ec3d8">BinaryReader::readTerminatedString</a>(<a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> termination)</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;{</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; stringstream ss(ios_base::in | ios_base::out | ios_base::binary);</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// thrown ios_base::failure when badbit or failbit is set</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ss.exceptions(ios_base::badbit | ios_base::failbit);</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; m_stream-&gt;get(*ss.rdbuf(), termination); <span class="comment">// delim byte is not extracted from the stream</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; m_stream-&gt;seekg(1, ios_base::cur); <span class="comment">// &quot;extract&quot; delim byte manually</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;}</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div>
<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a42450ed337ef2a4f68114da84aed3970"> 448</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a80e49639bff8e400f37c9d81a63ec3d8">BinaryReader::readTerminatedString</a>(<span class="keywordtype">size_t</span> maxBytesToRead, <a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> termination)</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;{</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; unique_ptr&lt;char []&gt; buff(<span class="keyword">new</span> <span class="keywordtype">char</span>[maxBytesToRead]);</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">char</span> *i = buff.get(), *end = i + maxBytesToRead; i &lt; end; ++i) {</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; m_stream-&gt;get(*i);</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span>(*(reinterpret_cast&lt;byte *&gt;(i)) == termination) {</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">return</span> string(buff.get(), i - buff.get());</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; }</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> string(buff.get(), maxBytesToRead);</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;}</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a824764ef7d6ea8c2d65a1fc4ae036a87"> 467</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a824764ef7d6ea8c2d65a1fc4ae036a87">BinaryReader::readMultibyteTerminatedString</a>(<a class="code" href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a> termination)</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; stringstream ss(ios_base::in | ios_base::out | ios_base::binary);</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="comment">// thrown ios_base::failure when badbit or failbit is set</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; ss.exceptions(ios_base::badbit | ios_base::failbit);</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordtype">char</span> delimChars[2];</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <a class="code" href="namespaceConversionUtilities.html#a76c89fe44675e676b4859936a2398202">ConversionUtilities::getBytes</a>(termination, delimChars, 0, m_byteOrder);</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordtype">char</span> buff[2];</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="namespaceConversionUtilities.html#a76c89fe44675e676b4859936a2398202">ConversionUtilities::getBytes</a>(termination, delimChars, 0, m_byteOrder);</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">do</span> {</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; m_stream-&gt;get(buff[0]);</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; m_stream-&gt;get(buff[1]);</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; } <span class="keywordflow">while</span>(!((buff[0] == delimChars[0]) &amp;&amp; (buff[1] == delimChars[1])));</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;}</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div>
<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#aa0274f85ab325aa17ebcc6a131108357"> 492</a></span>&#160;<span class="keywordtype">string</span> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a824764ef7d6ea8c2d65a1fc4ae036a87">BinaryReader::readMultibyteTerminatedString</a>(<span class="keywordtype">size_t</span> maxBytesToRead, <a class="code" href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a> termination)</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;{</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; unique_ptr&lt;char []&gt; buff(<span class="keyword">new</span> <span class="keywordtype">char</span>[maxBytesToRead]);</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordtype">char</span> delimChars[2];</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="namespaceConversionUtilities.html#a76c89fe44675e676b4859936a2398202">ConversionUtilities::getBytes</a>(termination, delimChars, 0, m_byteOrder);</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">char</span> *i = buff.get(), *end = i + maxBytesToRead; (i + 1) &lt; end; i += 2) {</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; m_stream-&gt;get(*i);</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; m_stream-&gt;get(*(i + 1));</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span>((*i == delimChars[0]) &amp;&amp; (*(i + 1) == delimChars[1])) {</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> string(buff.get(), i - buff.get());</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">return</span> string(buff.get(), maxBytesToRead);</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;}</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div>
<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a0f0911eecd13c05bf128c7cb2b8b16f1"> 514</a></span>&#160;<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a0f0911eecd13c05bf128c7cb2b8b16f1">BinaryReader::readSynchsafeUInt32</a>()</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;{</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceConversionUtilities.html#a679b970965342384bb70e2ceee76d613">ConversionUtilities::toNormalInt</a>(<a class="code" href="classIoUtilities_1_1BinaryReader.html#a24442ab054eca1db5b1ba5c62f5fb514">readUInt32</a>());</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;}</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div>
<div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a3b18c8e7def23b3636f04e64e059edfc"> 527</a></span>&#160;<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> <a class="code" href="classIoUtilities_1_1BinaryReader.html#a3b18c8e7def23b3636f04e64e059edfc">BinaryReader::readCrc32</a>(<span class="keywordtype">size_t</span> length)</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; unique_ptr&lt;char []&gt; buff(<span class="keyword">new</span> <span class="keywordtype">char</span>[length]);</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; m_stream-&gt;read(buff.get(), length);</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> *block = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a> *<span class="keyword">&gt;</span>(&amp;buff);</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> crc;</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> i;</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; crc = 0xFFFFFFFF;</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; length; ++i) {</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; crc = ((crc &gt;&gt; 8) &amp; 0x00FFFFFF) ^ <a class="code" href="classIoUtilities_1_1BinaryReader.html#a3e09d764c98e484c97a6c242eb9f22eb">crc32Table</a>()[(crc ^ *block++) &amp; 0xFF];</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; }</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> (crc ^ 0xFFFFFFFF);</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;}</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
<div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classIoUtilities_1_1BinaryReader.html#a3e09d764c98e484c97a6c242eb9f22eb"> 548</a></span>&#160;<a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> *<a class="code" href="classIoUtilities_1_1BinaryReader.html#a3e09d764c98e484c97a6c242eb9f22eb">BinaryReader::crc32Table</a>()</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;{</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keyword">static</span> <a class="code" href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a> table[] = {</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; 0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61,</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, 0x4c11db70, 0x48d0c6c7,</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75,</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3,</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; 0x709f7b7a, 0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58, 0xbaea46ef,</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d,</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb,</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; 0xceb42022, 0xca753d95, 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1,</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072,</div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4,</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; 0x0808d07d, 0x0cc9cdca, 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde,</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08,</div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc,</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6,</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, 0xe0b41de7, 0xe4750050,</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2,</div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; 0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637,</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, 0x4f040d56, 0x4bc510e1,</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53,</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5,</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; 0x3f9b762c, 0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e, 0xf5ee4bb9,</div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b,</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd,</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; 0xcda1f604, 0xc960ebb3, 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7,</div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,</div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3,</div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2,</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; 0x470cdd2b, 0x43cdc09c, 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8,</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e,</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a,</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0,</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, 0xe3a1cbc1, 0xe760d676,</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; 0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668,</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; };</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">return</span> table;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;}</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a7a6da8e5ac193a0047fd91f4aed48db5"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a7a6da8e5ac193a0047fd91f4aed48db5">IoUtilities::BinaryReader::readInt24</a></div><div class="ttdeci">int32 readInt24()</div><div class="ttdoc">Reads a 24-bit signed integer from the current stream and advances the current position of the stream...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00280">binaryreader.cpp:280</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a76c89fe44675e676b4859936a2398202"><div class="ttname"><a href="namespaceConversionUtilities.html#a76c89fe44675e676b4859936a2398202">ConversionUtilities::getBytes</a></div><div class="ttdeci">void getBytes(int16 value, char *outputbuffer, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Stores the specified 16-bit signed integer value at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00272">binaryconversion.cpp:272</a></div></div>
<div class="ttc" id="conversionexception_8h_html"><div class="ttname"><a href="conversionexception_8h.html">conversionexception.h</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a9c1945fdb5510788e4605abc4e0963d3"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a9c1945fdb5510788e4605abc4e0963d3">IoUtilities::BinaryReader::giveOwnership</a></div><div class="ttdeci">void giveOwnership()</div><div class="ttdoc">The reader will take ownership over the assigned stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00123">binaryreader.cpp:123</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_ab037dd2e3add89397e710e087b9e6462"><div class="ttname"><a href="namespaceConversionUtilities.html#ab037dd2e3add89397e710e087b9e6462">ConversionUtilities::ByteOrder</a></div><div class="ttdeci">ByteOrder</div><div class="ttdoc">Specifies the byte order/endianness. </div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8h_source.html#l00040">binaryconversion.h:40</a></div></div>
<div class="ttc" id="types_8h_html_ad7a3bd3be7bd59e7fb6337fcbc956eb1"><div class="ttname"><a href="types_8h.html#ad7a3bd3be7bd59e7fb6337fcbc956eb1">int64</a></div><div class="ttdeci">std::int64_t int64</div><div class="ttdoc">signed 64-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00029">types.h:29</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_af0d48f4560d91753918dbc38782f7dd9"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#af0d48f4560d91753918dbc38782f7dd9">IoUtilities::BinaryReader::readFloat32</a></div><div class="ttdeci">float32 readFloat32()</div><div class="ttdoc">Reads a 32-bit floating point value from the current stream and advances the current position of the ...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00334">binaryreader.cpp:334</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_acd3115398ae6f9636eaa9b235518182c"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#acd3115398ae6f9636eaa9b235518182c">IoUtilities::BinaryReader::readByte</a></div><div class="ttdeci">byte readByte()</div><div class="ttdoc">Reads a single byte/unsigned character from the current stream and advances the current position of t...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00364">binaryreader.cpp:364</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html">IoUtilities::BinaryReader</a></div><div class="ttdoc">Reads primitive data types from a std::istream using a specified ConversionUtilities::ByteOrder. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8h_source.html#l00014">binaryreader.h:14</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a7674e91b147de42358d47afd67970fab"><div class="ttname"><a href="namespaceConversionUtilities.html#a7674e91b147de42358d47afd67970fab">ConversionUtilities::toFloat64</a></div><div class="ttdeci">float64 toFloat64(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 64-bit floating point number converted from eight bytes at a specified position in a char a...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00221">binaryconversion.cpp:221</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a0ea3026ecdb50182bd6ad1e7d7c36266"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a0ea3026ecdb50182bd6ad1e7d7c36266">IoUtilities::BinaryReader::eof</a></div><div class="ttdeci">bool eof() const </div><div class="ttdoc">Returns an indication whether the end-of-stream bit of the assigned stream is set. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00178">binaryreader.cpp:178</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a679b970965342384bb70e2ceee76d613"><div class="ttname"><a href="namespaceConversionUtilities.html#a679b970965342384bb70e2ceee76d613">ConversionUtilities::toNormalInt</a></div><div class="ttdeci">uint32 toNormalInt(uint32 synchsafeInt)</div><div class="ttdoc">Returns a normal 32-bit integer converted from a 32-bit synchsafe integer. </div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00261">binaryconversion.cpp:261</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a0f0911eecd13c05bf128c7cb2b8b16f1"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a0f0911eecd13c05bf128c7cb2b8b16f1">IoUtilities::BinaryReader::readSynchsafeUInt32</a></div><div class="ttdeci">uint32 readSynchsafeUInt32()</div><div class="ttdoc">Reads a 32-bit synchsafe integer from the current stream and advances the current position of the str...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00514">binaryreader.cpp:514</a></div></div>
<div class="ttc" id="classConversionUtilities_1_1ConversionException_html"><div class="ttname"><a href="classConversionUtilities_1_1ConversionException.html">ConversionUtilities::ConversionException</a></div><div class="ttdoc">The exception that is thrown when an conversion error occurs. </div><div class="ttdef"><b>Definition:</b> <a href="conversionexception_8h_source.html#l00011">conversionexception.h:11</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a9d6ec9db7c4161a2d3041d9a59b9d0fc"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a9d6ec9db7c4161a2d3041d9a59b9d0fc">IoUtilities::BinaryReader::stream</a></div><div class="ttdeci">const std::istream * stream() const </div><div class="ttdoc">Returns a pointer to the stream the reader will read from when calling one of the read-methods...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00071">binaryreader.cpp:71</a></div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a6ec528d352f158faf8f379d1e8f72f8f"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a6ec528d352f158faf8f379d1e8f72f8f">IoUtilities::BinaryReader::readBool</a></div><div class="ttdeci">bool readBool()</div><div class="ttdoc">Reads a boolean value from the current stream and advances the current position of the stream by one ...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00374">binaryreader.cpp:374</a></div></div>
<div class="ttc" id="binaryreader_8h_html"><div class="ttname"><a href="binaryreader_8h.html">binaryreader.h</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a62a906eca728bef59fe430448a32f0df"><div class="ttname"><a href="namespaceConversionUtilities.html#a62a906eca728bef59fe430448a32f0df">ConversionUtilities::toInt16</a></div><div class="ttdeci">int16 toInt16(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 16-bit signed integer converted from two bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00047">binaryconversion.cpp:47</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_aa100731e0d17411eef083ddf61137b79"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#aa100731e0d17411eef083ddf61137b79">IoUtilities::BinaryReader::readUInt24</a></div><div class="ttdeci">uint32 readUInt24()</div><div class="ttdoc">Reads a 24-bit unsigned integer from the current stream and advances the current position of the stre...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00297">binaryreader.cpp:297</a></div></div>
<div class="ttc" id="types_8h_html_ac4dd6ce78ce3b840c53bd4b3c63ed09b"><div class="ttname"><a href="types_8h.html#ac4dd6ce78ce3b840c53bd4b3c63ed09b">uint64</a></div><div class="ttdeci">std::uint64_t uint64</div><div class="ttdoc">unsigned 64-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00049">types.h:49</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a0ee6ad0b3bc3f65b90710735547ede37"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a0ee6ad0b3bc3f65b90710735547ede37">IoUtilities::BinaryReader::readInt32</a></div><div class="ttdeci">int32 readInt32()</div><div class="ttdoc">Reads a 32-bit signed integer from the current stream and advances the current position of the stream...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00240">binaryreader.cpp:240</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_ab6d50a7e7ff4ae34331811e3c0d0c670"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#ab6d50a7e7ff4ae34331811e3c0d0c670">IoUtilities::BinaryReader::readUInt64</a></div><div class="ttdeci">uint64 readUInt64()</div><div class="ttdoc">Reads a 64-bit unsigned integer from the current stream and advances the current position of the stre...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00324">binaryreader.cpp:324</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a7439a256289dc3e7ac99a9eb0b2964bd"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a7439a256289dc3e7ac99a9eb0b2964bd">IoUtilities::BinaryReader::detatchOwnership</a></div><div class="ttdeci">void detatchOwnership()</div><div class="ttdoc">The reader will not take ownership over the assigned stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00137">binaryreader.cpp:137</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a5c3b1e48964a61a7b035a9571147d5b5"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a5c3b1e48964a61a7b035a9571147d5b5">IoUtilities::BinaryReader::setByteOrder</a></div><div class="ttdeci">void setByteOrder(ConversionUtilities::ByteOrder value)</div><div class="ttdoc">Sets the byte order used when converting the raw bytes read from the stream to the desired base data ...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00159">binaryreader.cpp:159</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a8208cebd3f943cac3ce8a24449d7319b"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a8208cebd3f943cac3ce8a24449d7319b">IoUtilities::BinaryReader::readFloat64</a></div><div class="ttdeci">float64 readFloat64()</div><div class="ttdoc">Reads a 64-bit floating point value from the current stream and advances the current position of the ...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00344">binaryreader.cpp:344</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a8298e53543ef9c1a4b1d04e86f371588"><div class="ttname"><a href="namespaceConversionUtilities.html#a8298e53543ef9c1a4b1d04e86f371588">ConversionUtilities::toFloat32</a></div><div class="ttdeci">float32 toFloat32(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 32-bit floating point number converted from four bytes at a specified position in a char ar...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00200">binaryconversion.cpp:200</a></div></div>
<div class="ttc" id="namespaceIoUtilities_html"><div class="ttname"><a href="namespaceIoUtilities.html">IoUtilities</a></div><div class="ttdoc">Contains utility classes helping to read and write streams. </div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a7fbfc629f5437eb8983419dac838c827"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a7fbfc629f5437eb8983419dac838c827">IoUtilities::BinaryReader::readChar</a></div><div class="ttdeci">char readChar()</div><div class="ttdoc">Reads a single character from the current stream and advances the current position of the stream by o...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00354">binaryreader.cpp:354</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html"><div class="ttname"><a href="namespaceConversionUtilities.html">ConversionUtilities</a></div><div class="ttdoc">Contains several functions providing conversions between different data types. </div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a58b3f558aa72fed44e0afdf0c958a62e"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a58b3f558aa72fed44e0afdf0c958a62e">IoUtilities::BinaryReader::hasOwnership</a></div><div class="ttdeci">bool hasOwnership() const </div><div class="ttdoc">Returns whether the reader takes ownership over the assigned stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00111">binaryreader.cpp:111</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a7c4e610b5aef604ea000f2ad38a3aaf3"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a7c4e610b5aef604ea000f2ad38a3aaf3">IoUtilities::BinaryReader::readStreamsize</a></div><div class="ttdeci">std::istream::pos_type readStreamsize()</div><div class="ttdoc">Returns the size of the assigned stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00203">binaryreader.cpp:203</a></div></div>
<div class="ttc" id="types_8h_html_a22f78cc9780bf32aff91ae17c3101c8d"><div class="ttname"><a href="types_8h.html#a22f78cc9780bf32aff91ae17c3101c8d">uint32</a></div><div class="ttdeci">std::uint32_t uint32</div><div class="ttdoc">unsigned 32-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00044">types.h:44</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_aa0c1a82f6c473ca9034329477dfab202"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#aa0c1a82f6c473ca9034329477dfab202">IoUtilities::BinaryReader::BinaryReader</a></div><div class="ttdeci">BinaryReader(std::istream *stream, ConversionUtilities::ByteOrder byteOrder=ConversionUtilities::ByteOrder::LittleEndian)</div><div class="ttdoc">Constructs a new BinaryReader. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00028">binaryreader.cpp:28</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_adf155f0fdb6f4e4997c1987a72aacf1e"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#adf155f0fdb6f4e4997c1987a72aacf1e">IoUtilities::BinaryReader::readInt64</a></div><div class="ttdeci">int64 readInt64()</div><div class="ttdoc">Reads a 64-bit signed integer from the current stream and advances the current position of the stream...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00314">binaryreader.cpp:314</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a911dc859fa61a5085c699ede8dcf35a4"><div class="ttname"><a href="namespaceConversionUtilities.html#a911dc859fa61a5085c699ede8dcf35a4">ConversionUtilities::toUInt64</a></div><div class="ttdeci">uint64 toUInt64(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 64-bit unsigned integer converted from eight bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00171">binaryconversion.cpp:171</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a4148b35b25818d058248c5ebfed5f95b"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a4148b35b25818d058248c5ebfed5f95b">IoUtilities::BinaryReader::setStream</a></div><div class="ttdeci">void setStream(std::istream *stream, bool giveOwnership=false)</div><div class="ttdoc">Assigns the stream the reader will read from when calling one of the read-methods. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00087">binaryreader.cpp:87</a></div></div>
<div class="ttc" id="types_8h_html_a0bf9964a3ce962c07ad3d8b5432bbbcd"><div class="ttname"><a href="types_8h.html#a0bf9964a3ce962c07ad3d8b5432bbbcd">int32</a></div><div class="ttdeci">std::int32_t int32</div><div class="ttdoc">signed 32-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00024">types.h:24</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a42e285b2477d09da50843509489e1921"><div class="ttname"><a href="namespaceConversionUtilities.html#a42e285b2477d09da50843509489e1921">ConversionUtilities::toInt32</a></div><div class="ttdeci">int32 toInt32(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 32-bit signed integer converted from four bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00081">binaryconversion.cpp:81</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a52338eb3fe7f0b5892949ddf134667d2"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a52338eb3fe7f0b5892949ddf134667d2">IoUtilities::BinaryReader::readInt16</a></div><div class="ttdeci">int16 readInt16()</div><div class="ttdoc">Reads a 16-bit signed integer from the current stream and advances the current position of the stream...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00260">binaryreader.cpp:260</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a80e49639bff8e400f37c9d81a63ec3d8"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a80e49639bff8e400f37c9d81a63ec3d8">IoUtilities::BinaryReader::readTerminatedString</a></div><div class="ttdeci">std::string readTerminatedString(byte termination=0)</div><div class="ttdoc">Reads a terminated string from the current stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00429">binaryreader.cpp:429</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a3e09d764c98e484c97a6c242eb9f22eb"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a3e09d764c98e484c97a6c242eb9f22eb">IoUtilities::BinaryReader::crc32Table</a></div><div class="ttdeci">static uint32 * crc32Table()</div><div class="ttdoc">Returns a CRC-32 table. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00548">binaryreader.cpp:548</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a9211880ac3c53f1ecb8b41beee6ba309"><div class="ttname"><a href="namespaceConversionUtilities.html#a9211880ac3c53f1ecb8b41beee6ba309">ConversionUtilities::toUInt32</a></div><div class="ttdeci">uint32 toUInt32(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 32-bit unsigned integer converted from four bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00121">binaryconversion.cpp:121</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a3b18c8e7def23b3636f04e64e059edfc"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a3b18c8e7def23b3636f04e64e059edfc">IoUtilities::BinaryReader::readCrc32</a></div><div class="ttdeci">uint32 readCrc32(size_t length)</div><div class="ttdoc">Reads length bytes from the stream an computes the CRC-32 for that block of data. ...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00527">binaryreader.cpp:527</a></div></div>
<div class="ttc" id="types_8h_html_a61902b37514c53f51a2fb8423db5ee36"><div class="ttname"><a href="types_8h.html#a61902b37514c53f51a2fb8423db5ee36">byte</a></div><div class="ttdeci">std::uint8_t byte</div><div class="ttdoc">unsigned byte </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00014">types.h:14</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a24442ab054eca1db5b1ba5c62f5fb514"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a24442ab054eca1db5b1ba5c62f5fb514">IoUtilities::BinaryReader::readUInt32</a></div><div class="ttdeci">uint32 readUInt32()</div><div class="ttdoc">Reads a 32-bit unsigned integer from the current stream and advances the current position of the stre...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00250">binaryreader.cpp:250</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a92622e30e76b6fcaf40d78c653eece8d"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a92622e30e76b6fcaf40d78c653eece8d">IoUtilities::BinaryReader::readString</a></div><div class="ttdeci">std::string readString(size_t length)</div><div class="ttdoc">Reads a string from the current stream of the given length from the stream and advances the current p...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00414">binaryreader.cpp:414</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_ab692463df1a93d8faeec3efe0c2e9835"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#ab692463df1a93d8faeec3efe0c2e9835">IoUtilities::BinaryReader::canRead</a></div><div class="ttdeci">bool canRead() const </div><div class="ttdoc">Returns an indication whether a stream is assigned the reader can read from. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00189">binaryreader.cpp:189</a></div></div>
<div class="ttc" id="types_8h_html_aecf4e3680a32207d17f62a3426731878"><div class="ttname"><a href="types_8h.html#aecf4e3680a32207d17f62a3426731878">int16</a></div><div class="ttdeci">std::int16_t int16</div><div class="ttdoc">signed 16-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00019">types.h:19</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a442afc588a1d91bb7969fc8146f66d38"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a442afc588a1d91bb7969fc8146f66d38">IoUtilities::BinaryReader::byteOrder</a></div><div class="ttdeci">ConversionUtilities::ByteOrder byteOrder() const </div><div class="ttdoc">Returns the byte order used when converting the raw bytes read from the stream to the desired base da...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00148">binaryreader.cpp:148</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a355159c7559a4133169c93d44bbb8162"><div class="ttname"><a href="namespaceConversionUtilities.html#a355159c7559a4133169c93d44bbb8162">ConversionUtilities::toUInt16</a></div><div class="ttdeci">uint16 toUInt16(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 16-bit unsigned integer converted from two bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00064">binaryconversion.cpp:64</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a27408cdcfc1a68305a97a88e69a2ddb3"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a27408cdcfc1a68305a97a88e69a2ddb3">IoUtilities::BinaryReader::readUInt16</a></div><div class="ttdeci">uint16 readUInt16()</div><div class="ttdoc">Reads a 16-bit unsigned integer from the current stream and advances the current position of the stre...</div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00270">binaryreader.cpp:270</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_adf0aed87f84ec85eb9e2f0277a9c66cd"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#adf0aed87f84ec85eb9e2f0277a9c66cd">IoUtilities::BinaryReader::readLengthPrefixedString</a></div><div class="ttdeci">std::string readLengthPrefixedString()</div><div class="ttdoc">Reads a length prefixed string from the current stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00385">binaryreader.cpp:385</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a32a4fe688e94789fa6231522f7c6e320"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a32a4fe688e94789fa6231522f7c6e320">IoUtilities::BinaryReader::~BinaryReader</a></div><div class="ttdeci">~BinaryReader()</div><div class="ttdoc">Destroys the BinaryReader. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00050">binaryreader.cpp:50</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a43a794b7a7278f78404eff446aa3cf97"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a43a794b7a7278f78404eff446aa3cf97">IoUtilities::BinaryReader::fail</a></div><div class="ttdeci">bool fail() const </div><div class="ttdoc">Returns an indication whether the fail bit of the assigned stream is set. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00167">binaryreader.cpp:167</a></div></div>
<div class="ttc" id="types_8h_html_ad9c79638db63f1dfe2b085743b5cbf7b"><div class="ttname"><a href="types_8h.html#ad9c79638db63f1dfe2b085743b5cbf7b">uint16</a></div><div class="ttdeci">std::uint16_t uint16</div><div class="ttdoc">unsigned 16-bit integer </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00039">types.h:39</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_ab0030207af4b09ee7f4dad5f3b2ab77e"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#ab0030207af4b09ee7f4dad5f3b2ab77e">IoUtilities::BinaryReader::read</a></div><div class="ttdeci">void read(char *buffer, std::streamsize length)</div><div class="ttdoc">Reads the specified number of characters from the stream in the character array. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00215">binaryreader.cpp:215</a></div></div>
<div class="ttc" id="classIoUtilities_1_1BinaryReader_html_a824764ef7d6ea8c2d65a1fc4ae036a87"><div class="ttname"><a href="classIoUtilities_1_1BinaryReader.html#a824764ef7d6ea8c2d65a1fc4ae036a87">IoUtilities::BinaryReader::readMultibyteTerminatedString</a></div><div class="ttdeci">std::string readMultibyteTerminatedString(uint16 termination=0)</div><div class="ttdoc">Reads a multibyte-terminated string from the current stream. </div><div class="ttdef"><b>Definition:</b> <a href="binaryreader_8cpp_source.html#l00467">binaryreader.cpp:467</a></div></div>
<div class="ttc" id="namespaceConversionUtilities_html_a4a22d349af363310845f8ca0d6da8a60"><div class="ttname"><a href="namespaceConversionUtilities.html#a4a22d349af363310845f8ca0d6da8a60">ConversionUtilities::toInt64</a></div><div class="ttdeci">int64 toInt64(const char *value, int startIndex, ByteOrder byteOrder)</div><div class="ttdoc">Returns a 64-bit signed integer converted from eight bytes at a specified position in a char array...</div><div class="ttdef"><b>Definition:</b> <a href="binaryconversion_8cpp_source.html#l00142">binaryconversion.cpp:142</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 15 2014 15:40:10 for Utilities by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>