Files
pip/doc/html/class_p_i_byte_array.html

415 lines
66 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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PIP: PIByteArray Class Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</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 id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PIP
&#160;<span id="projectnumber">1.4.0</span>
</div>
<div id="projectbrief">Platform-Independent Primitives</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_p_i_byte_array.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="class_p_i_byte_array-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PIByteArray Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Byte array.
<a href="class_p_i_byte_array.html#details">More...</a></p>
<p>Inherits PIDeque&lt; T &gt;.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_i_byte_array_1_1_raw_data.html">RawData</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Help struct to store/restore custom blocks of data to/from <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <a href="struct_p_i_byte_array_1_1_raw_data.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaff8154b09dfd8f6b42a2ffccf77a417"><td class="memItemLeft" align="right" valign="top"><a id="aaff8154b09dfd8f6b42a2ffccf77a417"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#aaff8154b09dfd8f6b42a2ffccf77a417">PIByteArray</a> ()</td></tr>
<tr class="memdesc:aaff8154b09dfd8f6b42a2ffccf77a417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty byte array. <br /></td></tr>
<tr class="separator:aaff8154b09dfd8f6b42a2ffccf77a417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c41715c48c52ca6fde95e49c398bff"><td class="memItemLeft" align="right" valign="top"><a id="a77c41715c48c52ca6fde95e49c398bff"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a77c41715c48c52ca6fde95e49c398bff">PIByteArray</a> (const uint size)</td></tr>
<tr class="memdesc:a77c41715c48c52ca6fde95e49c398bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs 0-filled byte array with size "size". <br /></td></tr>
<tr class="separator:a77c41715c48c52ca6fde95e49c398bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53393736cdd642d3fb0f68cc762eaf10"><td class="memItemLeft" align="right" valign="top"><a id="a53393736cdd642d3fb0f68cc762eaf10"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a53393736cdd642d3fb0f68cc762eaf10">PIByteArray</a> (const void *data, const uint size)</td></tr>
<tr class="memdesc:a53393736cdd642d3fb0f68cc762eaf10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs byte array from data "data" and size "size". <br /></td></tr>
<tr class="separator:a53393736cdd642d3fb0f68cc762eaf10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad36407543237210fa1f528ad510d164f"><td class="memItemLeft" align="right" valign="top"><a id="ad36407543237210fa1f528ad510d164f"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ad36407543237210fa1f528ad510d164f">resized</a> (int new_size) const</td></tr>
<tr class="memdesc:ad36407543237210fa1f528ad510d164f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return resized byte array. <br /></td></tr>
<tr class="separator:ad36407543237210fa1f528ad510d164f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae024450dbd082250560b168189a6f043"><td class="memItemLeft" align="right" valign="top"><a id="ae024450dbd082250560b168189a6f043"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ae024450dbd082250560b168189a6f043">convertToBase64</a> ()</td></tr>
<tr class="memdesc:ae024450dbd082250560b168189a6f043"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert data to Base 64 and return this byte array. <br /></td></tr>
<tr class="separator:ae024450dbd082250560b168189a6f043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dff2c2171ecbd1b12c0edc232648cf9"><td class="memItemLeft" align="right" valign="top"><a id="a3dff2c2171ecbd1b12c0edc232648cf9"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a3dff2c2171ecbd1b12c0edc232648cf9">convertFromBase64</a> ()</td></tr>
<tr class="memdesc:a3dff2c2171ecbd1b12c0edc232648cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert data from Base 64 and return this byte array. <br /></td></tr>
<tr class="separator:a3dff2c2171ecbd1b12c0edc232648cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fee80b84fd0a864a12f9ae4de19f21d"><td class="memItemLeft" align="right" valign="top"><a id="a7fee80b84fd0a864a12f9ae4de19f21d"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a7fee80b84fd0a864a12f9ae4de19f21d">toBase64</a> () const</td></tr>
<tr class="memdesc:a7fee80b84fd0a864a12f9ae4de19f21d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return converted to Base 64 data. <br /></td></tr>
<tr class="separator:a7fee80b84fd0a864a12f9ae4de19f21d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da7fefa9e8a1d9ab88bcb71d70666a1"><td class="memItemLeft" align="right" valign="top"><a id="a8da7fefa9e8a1d9ab88bcb71d70666a1"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a8da7fefa9e8a1d9ab88bcb71d70666a1">compressRLE</a> (uchar threshold=192)</td></tr>
<tr class="memdesc:a8da7fefa9e8a1d9ab88bcb71d70666a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return converted from Base 64 data. <br /></td></tr>
<tr class="separator:a8da7fefa9e8a1d9ab88bcb71d70666a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f59d6f9e5aa117ebce88de767bdf6a0"><td class="memItemLeft" align="right" valign="top"><a id="a3f59d6f9e5aa117ebce88de767bdf6a0"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a3f59d6f9e5aa117ebce88de767bdf6a0">append</a> (const void *data_, int size_)</td></tr>
<tr class="memdesc:a3f59d6f9e5aa117ebce88de767bdf6a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add to the end data "data" with size "size". <br /></td></tr>
<tr class="separator:a3f59d6f9e5aa117ebce88de767bdf6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ccaa717c6341aaf47a3a811c8c6498"><td class="memItemLeft" align="right" valign="top"><a id="a42ccaa717c6341aaf47a3a811c8c6498"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a42ccaa717c6341aaf47a3a811c8c6498">append</a> (const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;data_)</td></tr>
<tr class="memdesc:a42ccaa717c6341aaf47a3a811c8c6498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add to the end byte array "data". <br /></td></tr>
<tr class="separator:a42ccaa717c6341aaf47a3a811c8c6498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a009a67857f87425757be371ae86e1942"><td class="memItemLeft" align="right" valign="top"><a id="a009a67857f87425757be371ae86e1942"></a>
uchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a009a67857f87425757be371ae86e1942">checksumPlain8</a> () const</td></tr>
<tr class="memdesc:a009a67857f87425757be371ae86e1942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns plain 8-bit checksum. <br /></td></tr>
<tr class="separator:a009a67857f87425757be371ae86e1942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39f312983543d828a41472f1166dd1da"><td class="memItemLeft" align="right" valign="top"><a id="a39f312983543d828a41472f1166dd1da"></a>
uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a39f312983543d828a41472f1166dd1da">checksumPlain32</a> () const</td></tr>
<tr class="memdesc:a39f312983543d828a41472f1166dd1da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns plain 32-bit checksum. <br /></td></tr>
<tr class="separator:a39f312983543d828a41472f1166dd1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:a068a0bcfbe5b9d2fa4b778ba968f44db"><td class="memTemplParams" colspan="2"><a id="a068a0bcfbe5b9d2fa4b778ba968f44db"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a068a0bcfbe5b9d2fa4b778ba968f44db"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a068a0bcfbe5b9d2fa4b778ba968f44db">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const PIList&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a068a0bcfbe5b9d2fa4b778ba968f44db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a068a0bcfbe5b9d2fa4b778ba968f44db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35c4ea115bdcb4627fd9fa635d1c681a"><td class="memTemplParams" colspan="2"><a id="a35c4ea115bdcb4627fd9fa635d1c681a"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a35c4ea115bdcb4627fd9fa635d1c681a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a35c4ea115bdcb4627fd9fa635d1c681a">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, PIList&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a35c4ea115bdcb4627fd9fa635d1c681a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a35c4ea115bdcb4627fd9fa635d1c681a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32613363dcf56aac9f693c135fff6f89"><td class="memItemLeft" align="right" valign="top"><a id="a32613363dcf56aac9f693c135fff6f89"></a>
<a class="el" href="class_p_i_cout.html">PICout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a32613363dcf56aac9f693c135fff6f89">operator&lt;&lt;</a> (<a class="el" href="class_p_i_cout.html">PICout</a> s, const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;ba)</td></tr>
<tr class="memdesc:a32613363dcf56aac9f693c135fff6f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output to <a class="el" href="class_p_i_cout.html" title="Class for formatted output similar std::cout. ">PICout</a> operator. <br /></td></tr>
<tr class="separator:a32613363dcf56aac9f693c135fff6f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07d2143afed8d5c50c9f63082fd3779"><td class="memItemLeft" align="right" valign="top"><a id="ab07d2143afed8d5c50c9f63082fd3779"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab07d2143afed8d5c50c9f63082fd3779">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, bool v)</td></tr>
<tr class="memdesc:ab07d2143afed8d5c50c9f63082fd3779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ab07d2143afed8d5c50c9f63082fd3779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2456ce06fcf2df4ccc4e92c79e026255"><td class="memItemLeft" align="right" valign="top"><a id="a2456ce06fcf2df4ccc4e92c79e026255"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a2456ce06fcf2df4ccc4e92c79e026255">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, char v)</td></tr>
<tr class="memdesc:a2456ce06fcf2df4ccc4e92c79e026255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a2456ce06fcf2df4ccc4e92c79e026255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4152fca25c857d502396fc477dd5b4e"><td class="memItemLeft" align="right" valign="top"><a id="ae4152fca25c857d502396fc477dd5b4e"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ae4152fca25c857d502396fc477dd5b4e">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, uchar v)</td></tr>
<tr class="memdesc:ae4152fca25c857d502396fc477dd5b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ae4152fca25c857d502396fc477dd5b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27cb4295a655c80c9223e2af2843ac14"><td class="memItemLeft" align="right" valign="top"><a id="a27cb4295a655c80c9223e2af2843ac14"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a27cb4295a655c80c9223e2af2843ac14">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const short v)</td></tr>
<tr class="memdesc:a27cb4295a655c80c9223e2af2843ac14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a27cb4295a655c80c9223e2af2843ac14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8951385e7eda4d8d6925b2a519624ae"><td class="memItemLeft" align="right" valign="top"><a id="ab8951385e7eda4d8d6925b2a519624ae"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab8951385e7eda4d8d6925b2a519624ae">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const int v)</td></tr>
<tr class="memdesc:ab8951385e7eda4d8d6925b2a519624ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ab8951385e7eda4d8d6925b2a519624ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a750963c1940bf98afb59c6d5ee745f57"><td class="memItemLeft" align="right" valign="top"><a id="a750963c1940bf98afb59c6d5ee745f57"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a750963c1940bf98afb59c6d5ee745f57">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const long &amp;v)</td></tr>
<tr class="memdesc:a750963c1940bf98afb59c6d5ee745f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a750963c1940bf98afb59c6d5ee745f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e8e853e5ed6beccd359e6cdbbd79ee"><td class="memItemLeft" align="right" valign="top"><a id="a34e8e853e5ed6beccd359e6cdbbd79ee"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a34e8e853e5ed6beccd359e6cdbbd79ee">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const llong &amp;v)</td></tr>
<tr class="memdesc:a34e8e853e5ed6beccd359e6cdbbd79ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a34e8e853e5ed6beccd359e6cdbbd79ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5772ffd8c729df606daef9af4bab33f"><td class="memItemLeft" align="right" valign="top"><a id="ab5772ffd8c729df606daef9af4bab33f"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab5772ffd8c729df606daef9af4bab33f">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const ushort v)</td></tr>
<tr class="memdesc:ab5772ffd8c729df606daef9af4bab33f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ab5772ffd8c729df606daef9af4bab33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4fedc65364715baf41b635174c5fe8a"><td class="memItemLeft" align="right" valign="top"><a id="ad4fedc65364715baf41b635174c5fe8a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ad4fedc65364715baf41b635174c5fe8a">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const uint v)</td></tr>
<tr class="memdesc:ad4fedc65364715baf41b635174c5fe8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ad4fedc65364715baf41b635174c5fe8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac808ed51ef9536275a6133abfde4bb83"><td class="memItemLeft" align="right" valign="top"><a id="ac808ed51ef9536275a6133abfde4bb83"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ac808ed51ef9536275a6133abfde4bb83">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const ulong &amp;v)</td></tr>
<tr class="memdesc:ac808ed51ef9536275a6133abfde4bb83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ac808ed51ef9536275a6133abfde4bb83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab44ea6a59afa51508ff2901d41b627f0"><td class="memItemLeft" align="right" valign="top"><a id="ab44ea6a59afa51508ff2901d41b627f0"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab44ea6a59afa51508ff2901d41b627f0">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const ullong &amp;v)</td></tr>
<tr class="memdesc:ab44ea6a59afa51508ff2901d41b627f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:ab44ea6a59afa51508ff2901d41b627f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a485f703e44ccea18c8638c7c4c5889"><td class="memItemLeft" align="right" valign="top"><a id="a2a485f703e44ccea18c8638c7c4c5889"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a2a485f703e44ccea18c8638c7c4c5889">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const float v)</td></tr>
<tr class="memdesc:a2a485f703e44ccea18c8638c7c4c5889"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a2a485f703e44ccea18c8638c7c4c5889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a499da27a6b5a3474fff8cda6c723886a"><td class="memItemLeft" align="right" valign="top"><a id="a499da27a6b5a3474fff8cda6c723886a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a499da27a6b5a3474fff8cda6c723886a">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const double &amp;v)</td></tr>
<tr class="memdesc:a499da27a6b5a3474fff8cda6c723886a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a499da27a6b5a3474fff8cda6c723886a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a975eef78fce4f88fda2b515f73876b20"><td class="memItemLeft" align="right" valign="top"><a id="a975eef78fce4f88fda2b515f73876b20"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a975eef78fce4f88fda2b515f73876b20">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const ldouble &amp;v)</td></tr>
<tr class="memdesc:a975eef78fce4f88fda2b515f73876b20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a975eef78fce4f88fda2b515f73876b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a3097b282b4c6f199ab7f98ece1f482"><td class="memTemplParams" colspan="2"><a id="a6a3097b282b4c6f199ab7f98ece1f482"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a6a3097b282b4c6f199ab7f98ece1f482"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6a3097b282b4c6f199ab7f98ece1f482">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_flags.html">PIFlags</a>&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a6a3097b282b4c6f199ab7f98ece1f482"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a6a3097b282b4c6f199ab7f98ece1f482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a959efd617590b844d4dccf73c3565f95"><td class="memItemLeft" align="right" valign="top"><a id="a959efd617590b844d4dccf73c3565f95"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a959efd617590b844d4dccf73c3565f95">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;v)</td></tr>
<tr class="memdesc:a959efd617590b844d4dccf73c3565f95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator, see <a class="el" href="class_p_i_byte_array.html#PIByteArray_sec1">Attention</a> for details. <br /></td></tr>
<tr class="separator:a959efd617590b844d4dccf73c3565f95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a8de355c00ee10f723c0c4a108adcd"><td class="memItemLeft" align="right" valign="top"><a id="a65a8de355c00ee10f723c0c4a108adcd"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a65a8de355c00ee10f723c0c4a108adcd">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="struct_p_i_byte_array_1_1_raw_data.html">PIByteArray::RawData</a> &amp;v)</td></tr>
<tr class="memdesc:a65a8de355c00ee10f723c0c4a108adcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator, see <a class="el" href="class_p_i_byte_array.html#PIByteArray_sec1">Attention</a> for details. <br /></td></tr>
<tr class="separator:a65a8de355c00ee10f723c0c4a108adcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1267e59cb3d258bdd7af82b72c55886"><td class="memItemLeft" align="right" valign="top"><a id="ac1267e59cb3d258bdd7af82b72c55886"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ac1267e59cb3d258bdd7af82b72c55886">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, bool &amp;v)</td></tr>
<tr class="memdesc:ac1267e59cb3d258bdd7af82b72c55886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ac1267e59cb3d258bdd7af82b72c55886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90f76112193066599755db29e462a9a7"><td class="memItemLeft" align="right" valign="top"><a id="a90f76112193066599755db29e462a9a7"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a90f76112193066599755db29e462a9a7">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, char &amp;v)</td></tr>
<tr class="memdesc:a90f76112193066599755db29e462a9a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a90f76112193066599755db29e462a9a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13b3356e12200d943eca6fb5914fff3"><td class="memItemLeft" align="right" valign="top"><a id="ab13b3356e12200d943eca6fb5914fff3"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab13b3356e12200d943eca6fb5914fff3">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, uchar &amp;v)</td></tr>
<tr class="memdesc:ab13b3356e12200d943eca6fb5914fff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ab13b3356e12200d943eca6fb5914fff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab169b593f262836b81ef0f1e85742bb5"><td class="memItemLeft" align="right" valign="top"><a id="ab169b593f262836b81ef0f1e85742bb5"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab169b593f262836b81ef0f1e85742bb5">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, short &amp;v)</td></tr>
<tr class="memdesc:ab169b593f262836b81ef0f1e85742bb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ab169b593f262836b81ef0f1e85742bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9193853f9065d13faa500d7402011e95"><td class="memItemLeft" align="right" valign="top"><a id="a9193853f9065d13faa500d7402011e95"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a9193853f9065d13faa500d7402011e95">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, int &amp;v)</td></tr>
<tr class="memdesc:a9193853f9065d13faa500d7402011e95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a9193853f9065d13faa500d7402011e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2936831420330a89c932b9378bcb531a"><td class="memItemLeft" align="right" valign="top"><a id="a2936831420330a89c932b9378bcb531a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a2936831420330a89c932b9378bcb531a">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, long &amp;v)</td></tr>
<tr class="memdesc:a2936831420330a89c932b9378bcb531a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a2936831420330a89c932b9378bcb531a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f7009be50024c741ba1e34e2520105"><td class="memItemLeft" align="right" valign="top"><a id="ac2f7009be50024c741ba1e34e2520105"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ac2f7009be50024c741ba1e34e2520105">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, llong &amp;v)</td></tr>
<tr class="memdesc:ac2f7009be50024c741ba1e34e2520105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ac2f7009be50024c741ba1e34e2520105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d7b09e8e0ae58e2a0660a95f5297d62"><td class="memItemLeft" align="right" valign="top"><a id="a6d7b09e8e0ae58e2a0660a95f5297d62"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6d7b09e8e0ae58e2a0660a95f5297d62">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, ushort &amp;v)</td></tr>
<tr class="memdesc:a6d7b09e8e0ae58e2a0660a95f5297d62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a6d7b09e8e0ae58e2a0660a95f5297d62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c4c55eac2a9c3f087e4f86ae8d76104"><td class="memItemLeft" align="right" valign="top"><a id="a6c4c55eac2a9c3f087e4f86ae8d76104"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6c4c55eac2a9c3f087e4f86ae8d76104">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, uint &amp;v)</td></tr>
<tr class="memdesc:a6c4c55eac2a9c3f087e4f86ae8d76104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a6c4c55eac2a9c3f087e4f86ae8d76104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562da0ccdeabb8269757e25955bb3da5"><td class="memItemLeft" align="right" valign="top"><a id="a562da0ccdeabb8269757e25955bb3da5"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a562da0ccdeabb8269757e25955bb3da5">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, ulong &amp;v)</td></tr>
<tr class="memdesc:a562da0ccdeabb8269757e25955bb3da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a562da0ccdeabb8269757e25955bb3da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51721eb920f53d0c919eec52cf10cd52"><td class="memItemLeft" align="right" valign="top"><a id="a51721eb920f53d0c919eec52cf10cd52"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a51721eb920f53d0c919eec52cf10cd52">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, ullong &amp;v)</td></tr>
<tr class="memdesc:a51721eb920f53d0c919eec52cf10cd52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a51721eb920f53d0c919eec52cf10cd52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908c8071a8eee9fb7a3752bee614333a"><td class="memItemLeft" align="right" valign="top"><a id="a908c8071a8eee9fb7a3752bee614333a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a908c8071a8eee9fb7a3752bee614333a">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, float &amp;v)</td></tr>
<tr class="memdesc:a908c8071a8eee9fb7a3752bee614333a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a908c8071a8eee9fb7a3752bee614333a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f8b92d20e45ebe4e3bac6e2ccedf9f0"><td class="memItemLeft" align="right" valign="top"><a id="a4f8b92d20e45ebe4e3bac6e2ccedf9f0"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a4f8b92d20e45ebe4e3bac6e2ccedf9f0">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, double &amp;v)</td></tr>
<tr class="memdesc:a4f8b92d20e45ebe4e3bac6e2ccedf9f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a4f8b92d20e45ebe4e3bac6e2ccedf9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cabea5ab3c7000cf122f0177d668548"><td class="memItemLeft" align="right" valign="top"><a id="a0cabea5ab3c7000cf122f0177d668548"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a0cabea5ab3c7000cf122f0177d668548">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, ldouble &amp;v)</td></tr>
<tr class="memdesc:a0cabea5ab3c7000cf122f0177d668548"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a0cabea5ab3c7000cf122f0177d668548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac40a6a633a27c5b1cba3dab359ef949b"><td class="memTemplParams" colspan="2"><a id="ac40a6a633a27c5b1cba3dab359ef949b"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac40a6a633a27c5b1cba3dab359ef949b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ac40a6a633a27c5b1cba3dab359ef949b">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_flags.html">PIFlags</a>&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:ac40a6a633a27c5b1cba3dab359ef949b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ac40a6a633a27c5b1cba3dab359ef949b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa77ecc852d4e3ba6e4fbe7a7258cfb87"><td class="memItemLeft" align="right" valign="top"><a id="aa77ecc852d4e3ba6e4fbe7a7258cfb87"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#aa77ecc852d4e3ba6e4fbe7a7258cfb87">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;v)</td></tr>
<tr class="memdesc:aa77ecc852d4e3ba6e4fbe7a7258cfb87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator, see <a class="el" href="class_p_i_byte_array.html#PIByteArray_sec1">Attention</a> for details. <br /></td></tr>
<tr class="separator:aa77ecc852d4e3ba6e4fbe7a7258cfb87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb2b51047b10d19aced414fec7744dd2"><td class="memItemLeft" align="right" valign="top"><a id="afb2b51047b10d19aced414fec7744dd2"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#afb2b51047b10d19aced414fec7744dd2">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="struct_p_i_byte_array_1_1_raw_data.html">PIByteArray::RawData</a> v)</td></tr>
<tr class="memdesc:afb2b51047b10d19aced414fec7744dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator, see <a class="el" href="class_p_i_byte_array.html#PIByteArray_sec1">Attention</a> for details. <br /></td></tr>
<tr class="separator:afb2b51047b10d19aced414fec7744dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbbcf8bf5e3b56e3a114df299fe7c7f"><td class="memTemplParams" colspan="2"><a id="adbbbcf8bf5e3b56e3a114df299fe7c7f"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:adbbbcf8bf5e3b56e3a114df299fe7c7f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#adbbbcf8bf5e3b56e3a114df299fe7c7f">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_vector.html">PIVector</a>&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:adbbbcf8bf5e3b56e3a114df299fe7c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:adbbbcf8bf5e3b56e3a114df299fe7c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b9678e9c4c372565e933d2e3ea99407"><td class="memTemplParams" colspan="2"><a id="a9b9678e9c4c372565e933d2e3ea99407"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9b9678e9c4c372565e933d2e3ea99407"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a9b9678e9c4c372565e933d2e3ea99407">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const PIDeque&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a9b9678e9c4c372565e933d2e3ea99407"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a9b9678e9c4c372565e933d2e3ea99407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a279e2e4140a5fe36d502496783fafc96"><td class="memTemplParams" colspan="2"><a id="a279e2e4140a5fe36d502496783fafc96"></a>
template&lt;typename Key , typename T &gt; </td></tr>
<tr class="memitem:a279e2e4140a5fe36d502496783fafc96"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a279e2e4140a5fe36d502496783fafc96">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const PIMap&lt; Key, T &gt; &amp;v)</td></tr>
<tr class="memdesc:a279e2e4140a5fe36d502496783fafc96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a279e2e4140a5fe36d502496783fafc96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2b77a56ba810e64d937dc4f33438310"><td class="memTemplParams" colspan="2"><a id="ab2b77a56ba810e64d937dc4f33438310"></a>
template&lt;typename Type0 , typename Type1 &gt; </td></tr>
<tr class="memitem:ab2b77a56ba810e64d937dc4f33438310"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ab2b77a56ba810e64d937dc4f33438310">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, PIPair&lt; Type0, Type1 &gt; &amp;v)</td></tr>
<tr class="memdesc:ab2b77a56ba810e64d937dc4f33438310"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ab2b77a56ba810e64d937dc4f33438310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad45b3c81b974189a6c9ab5193e24d5"><td class="memTemplParams" colspan="2"><a id="a3ad45b3c81b974189a6c9ab5193e24d5"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3ad45b3c81b974189a6c9ab5193e24d5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a3ad45b3c81b974189a6c9ab5193e24d5">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_vector.html">PIVector</a>&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a3ad45b3c81b974189a6c9ab5193e24d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a3ad45b3c81b974189a6c9ab5193e24d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cee541d60566eef92585f50aa9ec436"><td class="memTemplParams" colspan="2"><a id="a6cee541d60566eef92585f50aa9ec436"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a6cee541d60566eef92585f50aa9ec436"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6cee541d60566eef92585f50aa9ec436">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, PIDeque&lt; T &gt; &amp;v)</td></tr>
<tr class="memdesc:a6cee541d60566eef92585f50aa9ec436"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a6cee541d60566eef92585f50aa9ec436"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81dc149c9f0c1861212c4f1f761aab45"><td class="memTemplParams" colspan="2"><a id="a81dc149c9f0c1861212c4f1f761aab45"></a>
template&lt;typename Key , typename T &gt; </td></tr>
<tr class="memitem:a81dc149c9f0c1861212c4f1f761aab45"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a81dc149c9f0c1861212c4f1f761aab45">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, PIMap&lt; Key, T &gt; &amp;v)</td></tr>
<tr class="memdesc:a81dc149c9f0c1861212c4f1f761aab45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a81dc149c9f0c1861212c4f1f761aab45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a6a74e3305f3b5e06030de7530da577"><td class="memItemLeft" align="right" valign="top"><a id="a1a6a74e3305f3b5e06030de7530da577"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a1a6a74e3305f3b5e06030de7530da577">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const PIBitArray &amp;v)</td></tr>
<tr class="memdesc:a1a6a74e3305f3b5e06030de7530da577"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a1a6a74e3305f3b5e06030de7530da577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40de45c6748dd1f1ecfc837b93e6532"><td class="memItemLeft" align="right" valign="top"><a id="ad40de45c6748dd1f1ecfc837b93e6532"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ad40de45c6748dd1f1ecfc837b93e6532">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, PIBitArray &amp;v)</td></tr>
<tr class="memdesc:ad40de45c6748dd1f1ecfc837b93e6532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:ad40de45c6748dd1f1ecfc837b93e6532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30e1b305b0f9bdcfc1d1e9c970e82d5d"><td class="memItemLeft" align="right" valign="top"><a id="a30e1b305b0f9bdcfc1d1e9c970e82d5d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a30e1b305b0f9bdcfc1d1e9c970e82d5d">operator==</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;f, <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s)</td></tr>
<tr class="memdesc:a30e1b305b0f9bdcfc1d1e9c970e82d5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte arrays compare operator. <br /></td></tr>
<tr class="separator:a30e1b305b0f9bdcfc1d1e9c970e82d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9db13625502ec190fa40b4155ad136eb"><td class="memItemLeft" align="right" valign="top"><a id="a9db13625502ec190fa40b4155ad136eb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a9db13625502ec190fa40b4155ad136eb">operator!=</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;f, <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s)</td></tr>
<tr class="memdesc:a9db13625502ec190fa40b4155ad136eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte arrays compare operator. <br /></td></tr>
<tr class="separator:a9db13625502ec190fa40b4155ad136eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaf9cbdf9ef8f318a08ff773a54a3d6c"><td class="memItemLeft" align="right" valign="top"><a id="adaf9cbdf9ef8f318a08ff773a54a3d6c"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#adaf9cbdf9ef8f318a08ff773a54a3d6c">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_string.html">PIString</a> &amp;v)</td></tr>
<tr class="memdesc:adaf9cbdf9ef8f318a08ff773a54a3d6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output operator to <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:adaf9cbdf9ef8f318a08ff773a54a3d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd37806e2577611e4a22dc2031fc166"><td class="memItemLeft" align="right" valign="top"><a id="a6cd37806e2577611e4a22dc2031fc166"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6cd37806e2577611e4a22dc2031fc166">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_string.html">PIString</a> &amp;v)</td></tr>
<tr class="memdesc:a6cd37806e2577611e4a22dc2031fc166"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input operator from <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:a6cd37806e2577611e4a22dc2031fc166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f09ee06ada0b3aab326f1c888daf4c"><td class="memItemLeft" align="right" valign="top"><a id="a08f09ee06ada0b3aab326f1c888daf4c"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a08f09ee06ada0b3aab326f1c888daf4c">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_string_list.html">PIStringList</a> &amp;v)</td></tr>
<tr class="memdesc:a08f09ee06ada0b3aab326f1c888daf4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output operator to <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:a08f09ee06ada0b3aab326f1c888daf4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a410bed597b49992e265e0941feca5cb8"><td class="memItemLeft" align="right" valign="top"><a id="a410bed597b49992e265e0941feca5cb8"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a410bed597b49992e265e0941feca5cb8">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_string_list.html">PIStringList</a> &amp;v)</td></tr>
<tr class="memdesc:a410bed597b49992e265e0941feca5cb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input operator from <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:a410bed597b49992e265e0941feca5cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f469a88331d5bf809f97f77a12e019"><td class="memItemLeft" align="right" valign="top"><a id="a43f469a88331d5bf809f97f77a12e019"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a43f469a88331d5bf809f97f77a12e019">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, const <a class="el" href="class_p_i_system_time.html">PISystemTime</a> &amp;v)</td></tr>
<tr class="memdesc:a43f469a88331d5bf809f97f77a12e019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output operator to <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:a43f469a88331d5bf809f97f77a12e019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad563e018cb30fbced03966997b2fc65a"><td class="memItemLeft" align="right" valign="top"><a id="ad563e018cb30fbced03966997b2fc65a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#ad563e018cb30fbced03966997b2fc65a">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, <a class="el" href="class_p_i_system_time.html">PISystemTime</a> &amp;v)</td></tr>
<tr class="memdesc:ad563e018cb30fbced03966997b2fc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input operator from <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:ad563e018cb30fbced03966997b2fc65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dbf7d2bccd539755632bfd774ea7a37"><td class="memItemLeft" align="right" valign="top"><a id="a1dbf7d2bccd539755632bfd774ea7a37"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a1dbf7d2bccd539755632bfd774ea7a37">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexf v)</td></tr>
<tr class="memdesc:a1dbf7d2bccd539755632bfd774ea7a37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a1dbf7d2bccd539755632bfd774ea7a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1084889e4ca59ad8c59ba6fe6eb73d22"><td class="memItemLeft" align="right" valign="top"><a id="a1084889e4ca59ad8c59ba6fe6eb73d22"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a1084889e4ca59ad8c59ba6fe6eb73d22">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexd v)</td></tr>
<tr class="memdesc:a1084889e4ca59ad8c59ba6fe6eb73d22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:a1084889e4ca59ad8c59ba6fe6eb73d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf5b40a528f99730414ed53e46d006ff"><td class="memItemLeft" align="right" valign="top"><a id="acf5b40a528f99730414ed53e46d006ff"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#acf5b40a528f99730414ed53e46d006ff">operator&lt;&lt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexld v)</td></tr>
<tr class="memdesc:acf5b40a528f99730414ed53e46d006ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store operator. <br /></td></tr>
<tr class="separator:acf5b40a528f99730414ed53e46d006ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cdb12254550852b98666d61357e16b7"><td class="memItemLeft" align="right" valign="top"><a id="a6cdb12254550852b98666d61357e16b7"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a6cdb12254550852b98666d61357e16b7">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexf &amp;v)</td></tr>
<tr class="memdesc:a6cdb12254550852b98666d61357e16b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a6cdb12254550852b98666d61357e16b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f144662807a6143e22435c8fdeeac8e"><td class="memItemLeft" align="right" valign="top"><a id="a9f144662807a6143e22435c8fdeeac8e"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a9f144662807a6143e22435c8fdeeac8e">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexd &amp;v)</td></tr>
<tr class="memdesc:a9f144662807a6143e22435c8fdeeac8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a9f144662807a6143e22435c8fdeeac8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b196eba8bb05c970ae84f6d026e7b4e"><td class="memItemLeft" align="right" valign="top"><a id="a4b196eba8bb05c970ae84f6d026e7b4e"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_byte_array.html#a4b196eba8bb05c970ae84f6d026e7b4e">operator&gt;&gt;</a> (<a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;s, complexld &amp;v)</td></tr>
<tr class="memdesc:a4b196eba8bb05c970ae84f6d026e7b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore operator. <br /></td></tr>
<tr class="separator:a4b196eba8bb05c970ae84f6d026e7b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Byte array. </p>
<p>This class based on PIDeque&lt;uchar&gt; and provide some handle function to manipulate it.</p>
<h1><a class="anchor" id="PIByteArray_sec0"></a>
Usage</h1>
<p>PIByteArray can be used to store custom data and manipulate it. There are many stream operators to store/restore common types to byte array. Store operators places data at the end of array, restore operators takes data from the beginning of array. In addition there are Base 64 convertions and checksums:</p><ul>
<li>plain 8-bit</li>
<li>plain 32-bit</li>
</ul>
<p>One of the major usage of PIByteArray is stream functions. You can form binary packet from many types (also dynamic types, e.g. <a class="el" href="class_p_i_vector.html" title="Dynamic array of any type. ">PIVector</a>) with one line: </p><div class="fragment"><div class="line"><a class="code" href="class_p_i_byte_array.html">PIByteArray</a> ba;</div><div class="line"><span class="keywordtype">int</span> i = -1, j = 2;</div><div class="line"><span class="keywordtype">float</span> f = 1.;</div><div class="line"><a class="code" href="class_p_i_string.html">PIString</a> text(<span class="stringliteral">&quot;123&quot;</span>);</div><div class="line">ba &lt;&lt; i &lt;&lt; j &lt;&lt; f &lt;&lt; text; <span class="comment">// form binary data</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;data =&quot;</span> &lt;&lt; ba;</div><div class="line">i = j = 0; <span class="comment">// clear variables</span></div><div class="line">f = 0; <span class="comment">// clear variables</span></div><div class="line">text.clear(); <span class="comment">// clear variables</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; i &lt;&lt; j &lt;&lt; f &lt;&lt; text; <span class="comment">// show variables</span></div><div class="line">ba &gt;&gt; i &gt;&gt; j &gt;&gt; f &gt;&gt; text; <span class="comment">// restore data</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; i &lt;&lt; j &lt;&lt; f &lt;&lt; text; <span class="comment">// show variables</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;data =&quot;</span> &lt;&lt; ba;</div></div><!-- fragment --><p> Or you can descibe stream operator of your own type and store/restore vectors of your type: </p><div class="fragment"><div class="line"><span class="keyword">struct </span>MyType {</div><div class="line"> MyType(<span class="keywordtype">int</span> i_ = 0, <span class="keyword">const</span> <a class="code" href="class_p_i_string.html">PIString</a> &amp; t_ = <a class="code" href="class_p_i_string.html">PIString</a>()) {</div><div class="line"> m_i = i_;</div><div class="line"> m_text = t_;</div><div class="line"> }</div><div class="line"> <span class="keywordtype">int</span> m_i;</div><div class="line"> <a class="code" href="class_p_i_string.html">PIString</a> m_text;</div><div class="line">};</div><div class="line"></div><div class="line"><span class="keyword">inline</span> <a class="code" href="class_p_i_byte_array.html">PIByteArray</a> &amp; <a class="code" href="class_p_i_byte_array.html#a068a0bcfbe5b9d2fa4b778ba968f44db">operator &lt;&lt;</a>(<a class="code" href="class_p_i_byte_array.html">PIByteArray</a> &amp; s, <span class="keyword">const</span> MyType &amp; v) {s &lt;&lt; v.m_i &lt;&lt; v.m_text; <span class="keywordflow">return</span> s;}</div><div class="line"><span class="keyword">inline</span> <a class="code" href="class_p_i_byte_array.html">PIByteArray</a> &amp; <a class="code" href="class_p_i_byte_array.html#a35c4ea115bdcb4627fd9fa635d1c681a">operator &gt;&gt;</a>(<a class="code" href="class_p_i_byte_array.html">PIByteArray</a> &amp; s, MyType &amp; v) {s &gt;&gt; v.m_i &gt;&gt; v.m_text; <span class="keywordflow">return</span> s;}</div><div class="line"></div><div class="line"><a class="code" href="class_p_i_byte_array.html">PIByteArray</a> ba;</div><div class="line"><a class="code" href="class_p_i_vector.html">PIVector&lt;MyType&gt;</a> my_vec;</div><div class="line">my_vec &lt;&lt; MyType(1, <span class="stringliteral">&quot;s1&quot;</span>) &lt;&lt; MyType(10, <span class="stringliteral">&quot;s10&quot;</span>); <span class="comment">// add to vector</span></div><div class="line">ba &lt;&lt; my_vec; <span class="comment">// store to byte array</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;data =&quot;</span> &lt;&lt; ba;</div><div class="line">my_vec.clear(); <span class="comment">// clear vector</span></div><div class="line">ba &gt;&gt; my_vec; <span class="comment">// restore from byte array</span></div></div><!-- fragment --><p> For store/restore custom data blocks there is <a class="el" href="struct_p_i_byte_array_1_1_raw_data.html" title="Help struct to store/restore custom blocks of data to/from PIByteArray. ">PIByteArray::RawData</a> class. Stream operators of this class simply store/restore data block to/from byte array. </p><div class="fragment"><div class="line"><a class="code" href="class_p_i_byte_array.html">PIByteArray</a> ba;</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">char</span> * chars = <span class="stringliteral">&quot;8 bytes&quot;</span>;</div><div class="line">ba &lt;&lt; <a class="code" href="struct_p_i_byte_array_1_1_raw_data.html">PIByteArray::RawData</a>(chars, 8); <span class="comment">// form binary data</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;data =&quot;</span> &lt;&lt; ba;</div><div class="line"><span class="keywordtype">char</span> rchars[16];</div><div class="line">memset(rchars, 0, 16); <span class="comment">// clear data</span></div><div class="line">ba &gt;&gt; <a class="code" href="struct_p_i_byte_array_1_1_raw_data.html">PIByteArray::RawData</a>(rchars, 8); <span class="comment">// restore data</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; rchars;</div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;data =&quot;</span> &lt;&lt; ba;</div></div><!-- fragment --> <h1><a class="anchor" id="PIByteArray_sec1"></a>
Attention</h1>
<p>Stream operator of PIByteArray store byte array as vector, not simply append content of byte array. This operators useful to transmit custom data as PIByteArray packed into parent byte array, e.g. to form packet from PIByteArray. To append one byte array to another use funtion <em><a class="el" href="class_p_i_byte_array.html#a3f59d6f9e5aa117ebce88de767bdf6a0" title="Add to the end data &quot;data&quot; with size &quot;size&quot;. ">append()</a></em>. </p><div class="fragment"><div class="line"><a class="code" href="class_p_i_byte_array.html">PIByteArray</a> ba, sba;</div><div class="line">uchar uc(127);</div><div class="line">sba &lt;&lt; uc; <span class="comment">// byte array with one byte</span></div><div class="line">ba &lt;&lt; sba; <span class="comment">// stream operator</span></div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; ba; <span class="comment">// result</span></div><div class="line"><span class="comment">// {1, 0, 0, 0, 127}</span></div><div class="line">ba.clear();</div><div class="line">ba.<a class="code" href="class_p_i_byte_array.html#a3f59d6f9e5aa117ebce88de767bdf6a0">append</a>(sba);</div><div class="line"><a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; ba; <span class="comment">// result</span></div><div class="line"><span class="comment">// {127}</span></div></div><!-- fragment --></div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_p_i_byte_array.html">PIByteArray</a></li>
<li class="footer">Generated on Fri Dec 8 2017 16:36:05 for PIP by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>