Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 17f48c047155a7d4c992d6a672acd57f > files > 1622

libcryptopp-devel-7.0.0-1.1.mga7.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crypto++: Redirector 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="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">Crypto++
   &#160;<span id="projectnumber">7.0</span>
   </div>
   <div id="projectbrief">Free&nbsp;C&#43;&#43;&nbsp;class&nbsp;library&nbsp;of&nbsp;cryptographic&nbsp;schemes</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_redirector-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Redirector Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Redirect input to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> without owning it.  
 <a href="class_redirector.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Redirector:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="class_redirector.png" usemap="#Redirector_map" alt=""/>
  <map id="Redirector_map" name="Redirector_map">
<area href="class_custom_signal_propagation.html" alt="CustomSignalPropagation&lt; Sink &gt;" shape="rect" coords="107,280,311,304"/>
<area href="class_custom_flush_propagation.html" alt="CustomFlushPropagation&lt; Sink &gt;" shape="rect" coords="107,224,311,248"/>
<area href="class_sink.html" title="Implementation of BufferedTransformation&#39;s attachment interface." alt="Sink" shape="rect" coords="107,168,311,192"/>
<area href="class_buffered_transformation.html" title="Interface for buffered transformations." alt="BufferedTransformation" shape="rect" coords="107,112,311,136"/>
<area href="class_algorithm.html" title="Interface for all crypto algorithms." alt="Algorithm" shape="rect" coords="0,56,204,80"/>
<area href="class_waitable.html" title="Interface for objects that can be waited on." alt="Waitable" shape="rect" coords="214,56,418,80"/>
<area href="class_clonable.html" title="Interface for cloning objects." alt="Clonable" shape="rect" coords="0,0,204,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a2de79d5742280aa614c218c7b950de67"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Behavior</a> { <a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a1ca858a44d042173d50b058a34c3403c">DATA_ONLY</a> = 0x00, 
<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a469c499eec32b53d40476c7ff7bb20d0">PASS_SIGNALS</a> = 0x01, 
<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a619f260cb40cef8ab7a1bef2dfd568e1">PASS_WAIT_OBJECTS</a> = 0x02, 
<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a9bedf58acdacc835d476e8783c169c2f">PASS_EVERYTHING</a> = PASS_SIGNALS | PASS_WAIT_OBJECTS
 }</td></tr>
<tr class="memdesc:a2de79d5742280aa614c218c7b950de67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls signal propagation behavior.  <a href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">More...</a><br /></td></tr>
<tr class="separator:a2de79d5742280aa614c218c7b950de67"><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:ad88cbf0d8971aa96eeaeff78dc743c25"><td class="memItemLeft" align="right" valign="top"><a id="ad88cbf0d8971aa96eeaeff78dc743c25"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#ad88cbf0d8971aa96eeaeff78dc743c25">Redirector</a> ()</td></tr>
<tr class="memdesc:ad88cbf0d8971aa96eeaeff78dc743c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="class_redirector.html" title="Redirect input to another BufferedTransformation without owning it.">Redirector</a>. <br /></td></tr>
<tr class="separator:ad88cbf0d8971aa96eeaeff78dc743c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce7d175c4cf620add11915dcbe447fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a0ce7d175c4cf620add11915dcbe447fb">Redirector</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, <a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Behavior</a> behavior=<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a9bedf58acdacc835d476e8783c169c2f">PASS_EVERYTHING</a>)</td></tr>
<tr class="memdesc:a0ce7d175c4cf620add11915dcbe447fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="class_redirector.html" title="Redirect input to another BufferedTransformation without owning it.">Redirector</a>.  <a href="#a0ce7d175c4cf620add11915dcbe447fb">More...</a><br /></td></tr>
<tr class="separator:a0ce7d175c4cf620add11915dcbe447fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890fae5ac4297b1c06c6f93252a0f92c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a890fae5ac4297b1c06c6f93252a0f92c">Redirect</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target)</td></tr>
<tr class="memdesc:a890fae5ac4297b1c06c6f93252a0f92c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redirect input to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="#a890fae5ac4297b1c06c6f93252a0f92c">More...</a><br /></td></tr>
<tr class="separator:a890fae5ac4297b1c06c6f93252a0f92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72b5a632f5d66cd3943fa4eed1563956"><td class="memItemLeft" align="right" valign="top"><a id="a72b5a632f5d66cd3943fa4eed1563956"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a72b5a632f5d66cd3943fa4eed1563956">StopRedirection</a> ()</td></tr>
<tr class="memdesc:a72b5a632f5d66cd3943fa4eed1563956"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop redirecting input. <br /></td></tr>
<tr class="separator:a72b5a632f5d66cd3943fa4eed1563956"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a8e0ac74e391ed8397aa5aff5fd0d17"><td class="memItemLeft" align="right" valign="top"><a id="a3a8e0ac74e391ed8397aa5aff5fd0d17"></a>
<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Behavior</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetBehavior</b> ()</td></tr>
<tr class="separator:a3a8e0ac74e391ed8397aa5aff5fd0d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac72d36b260e828760dc1a02d2f735eb9"><td class="memItemLeft" align="right" valign="top"><a id="ac72d36b260e828760dc1a02d2f735eb9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetBehavior</b> (<a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Behavior</a> behavior)</td></tr>
<tr class="separator:ac72d36b260e828760dc1a02d2f735eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47ceefd50d8a6e30b1daf16e10c84436"><td class="memItemLeft" align="right" valign="top"><a id="a47ceefd50d8a6e30b1daf16e10c84436"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>GetPassSignals</b> () const</td></tr>
<tr class="separator:a47ceefd50d8a6e30b1daf16e10c84436"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9b95451ee988541efe376f2ccb11fe"><td class="memItemLeft" align="right" valign="top"><a id="a6b9b95451ee988541efe376f2ccb11fe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetPassSignals</b> (bool pass)</td></tr>
<tr class="separator:a6b9b95451ee988541efe376f2ccb11fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4abad53f185a07bdaa8d575483154501"><td class="memItemLeft" align="right" valign="top"><a id="a4abad53f185a07bdaa8d575483154501"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>GetPassWaitObjects</b> () const</td></tr>
<tr class="separator:a4abad53f185a07bdaa8d575483154501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41f0adf8f3bc547609d95b67bb0ef404"><td class="memItemLeft" align="right" valign="top"><a id="a41f0adf8f3bc547609d95b67bb0ef404"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetPassWaitObjects</b> (bool pass)</td></tr>
<tr class="separator:a41f0adf8f3bc547609d95b67bb0ef404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee0003a41e0fbebe12ff2b4d9f19559"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a2ee0003a41e0fbebe12ff2b4d9f19559">CanModifyInput</a> () const</td></tr>
<tr class="memdesc:a2ee0003a41e0fbebe12ff2b4d9f19559"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether input can be modified by the callee.  <a href="#a2ee0003a41e0fbebe12ff2b4d9f19559">More...</a><br /></td></tr>
<tr class="separator:a2ee0003a41e0fbebe12ff2b4d9f19559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5fe25d9b6e17ec878e8f2b188702736"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#af5fe25d9b6e17ec878e8f2b188702736">Initialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters, int propagation)</td></tr>
<tr class="memdesc:af5fe25d9b6e17ec878e8f2b188702736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize or reinitialize this object, with signal propagation.  <a href="#af5fe25d9b6e17ec878e8f2b188702736">More...</a><br /></td></tr>
<tr class="separator:af5fe25d9b6e17ec878e8f2b188702736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09afd32c22cc2d4ef9ddc8650b8657f5"><td class="memItemLeft" align="right" valign="top">byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a09afd32c22cc2d4ef9ddc8650b8657f5">CreatePutSpace</a> (size_t &amp;size)</td></tr>
<tr class="memdesc:a09afd32c22cc2d4ef9ddc8650b8657f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request space which can be written into by the caller.  <a href="#a09afd32c22cc2d4ef9ddc8650b8657f5">More...</a><br /></td></tr>
<tr class="separator:a09afd32c22cc2d4ef9ddc8650b8657f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51620dc9565b323de2b55d3a85e830a1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a51620dc9565b323de2b55d3a85e830a1">Put2</a> (const byte *inString, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:a51620dc9565b323de2b55d3a85e830a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing.  <a href="#a51620dc9565b323de2b55d3a85e830a1">More...</a><br /></td></tr>
<tr class="separator:a51620dc9565b323de2b55d3a85e830a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a201243b803642ebfd392579953e75e92"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a201243b803642ebfd392579953e75e92">Flush</a> (bool hardFlush, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a201243b803642ebfd392579953e75e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffered input and/or output, with signal propagation.  <a href="#a201243b803642ebfd392579953e75e92">More...</a><br /></td></tr>
<tr class="separator:a201243b803642ebfd392579953e75e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34c42c1730d031f486e5d285c6dc3314"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a34c42c1730d031f486e5d285c6dc3314">MessageSeriesEnd</a> (int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a34c42c1730d031f486e5d285c6dc3314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the end of a series of messages, with signal propagation.  <a href="#a34c42c1730d031f486e5d285c6dc3314">More...</a><br /></td></tr>
<tr class="separator:a34c42c1730d031f486e5d285c6dc3314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e882384f0214dfc148abf38955ec0e5"><td class="memItemLeft" align="right" valign="top">byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a6e882384f0214dfc148abf38955ec0e5">ChannelCreatePutSpace</a> (const std::string &amp;channel, size_t &amp;size)</td></tr>
<tr class="memdesc:a6e882384f0214dfc148abf38955ec0e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request space which can be written into by the caller.  <a href="#a6e882384f0214dfc148abf38955ec0e5">More...</a><br /></td></tr>
<tr class="separator:a6e882384f0214dfc148abf38955ec0e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6d9e39c8d0f95d99b41129f1c97dae"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#acd6d9e39c8d0f95d99b41129f1c97dae">ChannelPut2</a> (const std::string &amp;channel, const byte *begin, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:acd6d9e39c8d0f95d99b41129f1c97dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing on a channel.  <a href="#acd6d9e39c8d0f95d99b41129f1c97dae">More...</a><br /></td></tr>
<tr class="separator:acd6d9e39c8d0f95d99b41129f1c97dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39d3ce8654aede6c9473129125dffc7"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#aa39d3ce8654aede6c9473129125dffc7">ChannelPutModifiable2</a> (const std::string &amp;channel, byte *begin, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:aa39d3ce8654aede6c9473129125dffc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes that may be modified by callee on a channel.  <a href="#aa39d3ce8654aede6c9473129125dffc7">More...</a><br /></td></tr>
<tr class="separator:aa39d3ce8654aede6c9473129125dffc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dde3ac97812d4ba31245f46192cb627"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a9dde3ac97812d4ba31245f46192cb627">ChannelFlush</a> (const std::string &amp;channel, bool completeFlush, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a9dde3ac97812d4ba31245f46192cb627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffered input and/or output on a channel.  <a href="#a9dde3ac97812d4ba31245f46192cb627">More...</a><br /></td></tr>
<tr class="separator:a9dde3ac97812d4ba31245f46192cb627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a827e4af441934015de54ceb14334503d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a827e4af441934015de54ceb14334503d">ChannelMessageSeriesEnd</a> (const std::string &amp;channel, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a827e4af441934015de54ceb14334503d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the end of a series of messages on a channel.  <a href="#a827e4af441934015de54ceb14334503d">More...</a><br /></td></tr>
<tr class="separator:a827e4af441934015de54ceb14334503d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a421073132346b5dc66750520cd859c94"><td class="memItemLeft" align="right" valign="top"><a id="a421073132346b5dc66750520cd859c94"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#a421073132346b5dc66750520cd859c94">GetMaxWaitObjectCount</a> () const</td></tr>
<tr class="memdesc:a421073132346b5dc66750520cd859c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the maximum number of waitable objects. <br /></td></tr>
<tr class="separator:a421073132346b5dc66750520cd859c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0dc5f63f7a57af37f819aa9251a78bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_redirector.html#ac0dc5f63f7a57af37f819aa9251a78bf">GetWaitObjects</a> (<a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> &amp;container, <a class="el" href="class_call_stack.html">CallStack</a> const &amp;callStack)</td></tr>
<tr class="memdesc:ac0dc5f63f7a57af37f819aa9251a78bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves waitable objects.  <a href="#ac0dc5f63f7a57af37f819aa9251a78bf">More...</a><br /></td></tr>
<tr class="separator:ac0dc5f63f7a57af37f819aa9251a78bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">SIGNALS</div></td></tr>
<tr class="inherit_header pub_methods_class_sink"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_sink')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_sink.html">Sink</a></td></tr>
<tr class="memitem:a3f00dceb03f4eae824a42e285e2f6972 inherit pub_methods_class_sink"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sink.html#a3f00dceb03f4eae824a42e285e2f6972">TransferTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, lword &amp;transferBytes, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>, bool blocking=true)</td></tr>
<tr class="memdesc:a3f00dceb03f4eae824a42e285e2f6972 inherit pub_methods_class_sink"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer bytes from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_sink.html#a3f00dceb03f4eae824a42e285e2f6972">More...</a><br /></td></tr>
<tr class="separator:a3f00dceb03f4eae824a42e285e2f6972 inherit pub_methods_class_sink"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed64e6f6c263c9f08fa2fc5febfb9d73 inherit pub_methods_class_sink"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sink.html#aed64e6f6c263c9f08fa2fc5febfb9d73">CopyRangeTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, lword &amp;begin, lword end=LWORD_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>, bool blocking=true) const</td></tr>
<tr class="memdesc:aed64e6f6c263c9f08fa2fc5febfb9d73 inherit pub_methods_class_sink"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy bytes from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_sink.html#aed64e6f6c263c9f08fa2fc5febfb9d73">More...</a><br /></td></tr>
<tr class="separator:aed64e6f6c263c9f08fa2fc5febfb9d73 inherit pub_methods_class_sink"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_buffered_transformation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_buffered_transformation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a></td></tr>
<tr class="memitem:a61bf430b7aa268991e3da82b74db1634 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top"><a id="a61bf430b7aa268991e3da82b74db1634"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a61bf430b7aa268991e3da82b74db1634">BufferedTransformation</a> ()</td></tr>
<tr class="memdesc:a61bf430b7aa268991e3da82b74db1634 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>. <br /></td></tr>
<tr class="separator:a61bf430b7aa268991e3da82b74db1634 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25686ebe4c3ba26e7eeaae1dcd4d4215 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a25686ebe4c3ba26e7eeaae1dcd4d4215">Ref</a> ()</td></tr>
<tr class="memdesc:a25686ebe4c3ba26e7eeaae1dcd4d4215 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a reference to this object.  <a href="class_buffered_transformation.html#a25686ebe4c3ba26e7eeaae1dcd4d4215">More...</a><br /></td></tr>
<tr class="separator:a25686ebe4c3ba26e7eeaae1dcd4d4215 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70658b0d271f8e114ac6c3cc9774ede inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ae70658b0d271f8e114ac6c3cc9774ede">Put</a> (byte inByte, bool blocking=true)</td></tr>
<tr class="memdesc:ae70658b0d271f8e114ac6c3cc9774ede inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a byte for processing.  <a href="class_buffered_transformation.html#ae70658b0d271f8e114ac6c3cc9774ede">More...</a><br /></td></tr>
<tr class="separator:ae70658b0d271f8e114ac6c3cc9774ede inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e935e60d3877975a7c82c6353d65c9 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a44e935e60d3877975a7c82c6353d65c9">Put</a> (const byte *inString, size_t length, bool blocking=true)</td></tr>
<tr class="memdesc:a44e935e60d3877975a7c82c6353d65c9 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a byte buffer for processing.  <a href="class_buffered_transformation.html#a44e935e60d3877975a7c82c6353d65c9">More...</a><br /></td></tr>
<tr class="separator:a44e935e60d3877975a7c82c6353d65c9 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92c60616792d7bce5cd41eaffbd1c3cc inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a92c60616792d7bce5cd41eaffbd1c3cc">PutWord16</a> (word16 value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>, bool blocking=true)</td></tr>
<tr class="memdesc:a92c60616792d7bce5cd41eaffbd1c3cc inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a 16-bit word for processing.  <a href="class_buffered_transformation.html#a92c60616792d7bce5cd41eaffbd1c3cc">More...</a><br /></td></tr>
<tr class="separator:a92c60616792d7bce5cd41eaffbd1c3cc inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affcc574867d51528afe3c96721ded075 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#affcc574867d51528afe3c96721ded075">PutWord32</a> (word32 value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>, bool blocking=true)</td></tr>
<tr class="memdesc:affcc574867d51528afe3c96721ded075 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a 32-bit word for processing.  <a href="class_buffered_transformation.html#affcc574867d51528afe3c96721ded075">More...</a><br /></td></tr>
<tr class="separator:affcc574867d51528afe3c96721ded075 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae15df84a7b67c25dfe2ce0ef5a74123c inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ae15df84a7b67c25dfe2ce0ef5a74123c">PutModifiable</a> (byte *inString, size_t length, bool blocking=true)</td></tr>
<tr class="memdesc:ae15df84a7b67c25dfe2ce0ef5a74123c inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes that may be modified by callee.  <a href="class_buffered_transformation.html#ae15df84a7b67c25dfe2ce0ef5a74123c">More...</a><br /></td></tr>
<tr class="separator:ae15df84a7b67c25dfe2ce0ef5a74123c inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20ae0ef2e4ff338b43849e541e9b940f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f">MessageEnd</a> (int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a20ae0ef2e4ff338b43849e541e9b940f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signals the end of messages to the object.  <a href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f">More...</a><br /></td></tr>
<tr class="separator:a20ae0ef2e4ff338b43849e541e9b940f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa10b7e626f5af900a4d12f6e5d125891 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aa10b7e626f5af900a4d12f6e5d125891">PutMessageEnd</a> (const byte *inString, size_t length, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:aa10b7e626f5af900a4d12f6e5d125891 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing and signal the end of a message.  <a href="class_buffered_transformation.html#aa10b7e626f5af900a4d12f6e5d125891">More...</a><br /></td></tr>
<tr class="separator:aa10b7e626f5af900a4d12f6e5d125891 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770bf11f26d4dec66423a7dc2d36843d inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a770bf11f26d4dec66423a7dc2d36843d">PutModifiable2</a> (byte *inString, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:a770bf11f26d4dec66423a7dc2d36843d inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes that may be modified by callee.  <a href="class_buffered_transformation.html#a770bf11f26d4dec66423a7dc2d36843d">More...</a><br /></td></tr>
<tr class="separator:a770bf11f26d4dec66423a7dc2d36843d inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf09f0cd6dbd022539a9ac5c316d4984 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aaf09f0cd6dbd022539a9ac5c316d4984">IsolatedMessageSeriesEnd</a> (bool blocking)</td></tr>
<tr class="memdesc:aaf09f0cd6dbd022539a9ac5c316d4984 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the end of a series of messages, without signal propagation.  <a href="class_buffered_transformation.html#aaf09f0cd6dbd022539a9ac5c316d4984">More...</a><br /></td></tr>
<tr class="separator:aaf09f0cd6dbd022539a9ac5c316d4984 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae77dc2fddb3ff142effb00eff3217581 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ae77dc2fddb3ff142effb00eff3217581">SetAutoSignalPropagation</a> (int propagation)</td></tr>
<tr class="memdesc:ae77dc2fddb3ff142effb00eff3217581 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set propagation of automatically generated and transferred signals.  <a href="class_buffered_transformation.html#ae77dc2fddb3ff142effb00eff3217581">More...</a><br /></td></tr>
<tr class="separator:ae77dc2fddb3ff142effb00eff3217581 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a32fc46e74c3c509934a11b8f5fec7 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a76a32fc46e74c3c509934a11b8f5fec7">GetAutoSignalPropagation</a> () const</td></tr>
<tr class="memdesc:a76a32fc46e74c3c509934a11b8f5fec7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve automatic signal propagation value.  <a href="class_buffered_transformation.html#a76a32fc46e74c3c509934a11b8f5fec7">More...</a><br /></td></tr>
<tr class="separator:a76a32fc46e74c3c509934a11b8f5fec7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b2076bce5fb29e992b6457485c67c2 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a30b2076bce5fb29e992b6457485c67c2">MaxRetrievable</a> () const</td></tr>
<tr class="memdesc:a30b2076bce5fb29e992b6457485c67c2 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the number of bytes ready for retrieval.  <a href="class_buffered_transformation.html#a30b2076bce5fb29e992b6457485c67c2">More...</a><br /></td></tr>
<tr class="separator:a30b2076bce5fb29e992b6457485c67c2 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c1e2ca57fc06a1f3694d8fe7f8508ff inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a8c1e2ca57fc06a1f3694d8fe7f8508ff">AnyRetrievable</a> () const</td></tr>
<tr class="memdesc:a8c1e2ca57fc06a1f3694d8fe7f8508ff inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether bytes are ready for retrieval.  <a href="class_buffered_transformation.html#a8c1e2ca57fc06a1f3694d8fe7f8508ff">More...</a><br /></td></tr>
<tr class="separator:a8c1e2ca57fc06a1f3694d8fe7f8508ff inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e1ad913c8fe697d269f408a7d5928fc inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a9e1ad913c8fe697d269f408a7d5928fc">Get</a> (byte &amp;outByte)</td></tr>
<tr class="memdesc:a9e1ad913c8fe697d269f408a7d5928fc inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a 8-bit byte.  <a href="class_buffered_transformation.html#a9e1ad913c8fe697d269f408a7d5928fc">More...</a><br /></td></tr>
<tr class="separator:a9e1ad913c8fe697d269f408a7d5928fc inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a6f18a871720453e1791c64f0461a9f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a0a6f18a871720453e1791c64f0461a9f">Get</a> (byte *outString, size_t getMax)</td></tr>
<tr class="memdesc:a0a6f18a871720453e1791c64f0461a9f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a block of bytes.  <a href="class_buffered_transformation.html#a0a6f18a871720453e1791c64f0461a9f">More...</a><br /></td></tr>
<tr class="separator:a0a6f18a871720453e1791c64f0461a9f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0d30db7e9ac411f51e33b56bb052b5b inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ae0d30db7e9ac411f51e33b56bb052b5b">Peek</a> (byte &amp;outByte) const</td></tr>
<tr class="memdesc:ae0d30db7e9ac411f51e33b56bb052b5b inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Peek a 8-bit byte.  <a href="class_buffered_transformation.html#ae0d30db7e9ac411f51e33b56bb052b5b">More...</a><br /></td></tr>
<tr class="separator:ae0d30db7e9ac411f51e33b56bb052b5b inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a796d9889c070ea85d9df262806579314 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a796d9889c070ea85d9df262806579314">Peek</a> (byte *outString, size_t peekMax) const</td></tr>
<tr class="memdesc:a796d9889c070ea85d9df262806579314 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Peek a block of bytes.  <a href="class_buffered_transformation.html#a796d9889c070ea85d9df262806579314">More...</a><br /></td></tr>
<tr class="separator:a796d9889c070ea85d9df262806579314 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac50bcb2d279c3c6aef6858dab3eeb7 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a1ac50bcb2d279c3c6aef6858dab3eeb7">GetWord16</a> (word16 &amp;value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>)</td></tr>
<tr class="memdesc:a1ac50bcb2d279c3c6aef6858dab3eeb7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a 16-bit word.  <a href="class_buffered_transformation.html#a1ac50bcb2d279c3c6aef6858dab3eeb7">More...</a><br /></td></tr>
<tr class="separator:a1ac50bcb2d279c3c6aef6858dab3eeb7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69c064d931db3a8631c1138827d67e2f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a69c064d931db3a8631c1138827d67e2f">GetWord32</a> (word32 &amp;value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>)</td></tr>
<tr class="memdesc:a69c064d931db3a8631c1138827d67e2f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a 32-bit word.  <a href="class_buffered_transformation.html#a69c064d931db3a8631c1138827d67e2f">More...</a><br /></td></tr>
<tr class="separator:a69c064d931db3a8631c1138827d67e2f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57f6cc9f7a38884cde234f3367df62b6 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a57f6cc9f7a38884cde234f3367df62b6">PeekWord16</a> (word16 &amp;value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>) const</td></tr>
<tr class="memdesc:a57f6cc9f7a38884cde234f3367df62b6 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Peek a 16-bit word.  <a href="class_buffered_transformation.html#a57f6cc9f7a38884cde234f3367df62b6">More...</a><br /></td></tr>
<tr class="separator:a57f6cc9f7a38884cde234f3367df62b6 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62bfe64be6bc1b65d84e3408e510b25a inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a62bfe64be6bc1b65d84e3408e510b25a">PeekWord32</a> (word32 &amp;value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>) const</td></tr>
<tr class="memdesc:a62bfe64be6bc1b65d84e3408e510b25a inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Peek a 32-bit word.  <a href="class_buffered_transformation.html#a62bfe64be6bc1b65d84e3408e510b25a">More...</a><br /></td></tr>
<tr class="separator:a62bfe64be6bc1b65d84e3408e510b25a inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac31ac5d2da7897fb097086496b85e6f5 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ac31ac5d2da7897fb097086496b85e6f5">TransferTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, lword transferMax=LWORD_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>)</td></tr>
<tr class="memdesc:ac31ac5d2da7897fb097086496b85e6f5 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">move transferMax bytes of the buffered output to target as input  <a href="class_buffered_transformation.html#ac31ac5d2da7897fb097086496b85e6f5">More...</a><br /></td></tr>
<tr class="separator:ac31ac5d2da7897fb097086496b85e6f5 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c25529ded99db20ad35ccef3f7234e6 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a0c25529ded99db20ad35ccef3f7234e6">Skip</a> (lword skipMax=LWORD_MAX)</td></tr>
<tr class="memdesc:a0c25529ded99db20ad35ccef3f7234e6 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Discard skipMax bytes from the output buffer.  <a href="class_buffered_transformation.html#a0c25529ded99db20ad35ccef3f7234e6">More...</a><br /></td></tr>
<tr class="separator:a0c25529ded99db20ad35ccef3f7234e6 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7693f056b01bc4feadd8a794fba2d30a inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a7693f056b01bc4feadd8a794fba2d30a">CopyTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, lword copyMax=LWORD_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>) const</td></tr>
<tr class="memdesc:a7693f056b01bc4feadd8a794fba2d30a inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy copyMax bytes of the buffered output to target as input  <a href="class_buffered_transformation.html#a7693f056b01bc4feadd8a794fba2d30a">More...</a><br /></td></tr>
<tr class="separator:a7693f056b01bc4feadd8a794fba2d30a inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac245e7a90e75e51482ce4421969616 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a7ac245e7a90e75e51482ce4421969616">CopyRangeTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, lword position, lword copyMax=LWORD_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>) const</td></tr>
<tr class="memdesc:a7ac245e7a90e75e51482ce4421969616 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy bytes from this object using an index to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a7ac245e7a90e75e51482ce4421969616">More...</a><br /></td></tr>
<tr class="separator:a7ac245e7a90e75e51482ce4421969616 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e77f500d62436a8bd1597e6b6443a1 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual lword&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ab4e77f500d62436a8bd1597e6b6443a1">TotalBytesRetrievable</a> () const</td></tr>
<tr class="memdesc:ab4e77f500d62436a8bd1597e6b6443a1 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the number of bytes ready for retrieval.  <a href="class_buffered_transformation.html#ab4e77f500d62436a8bd1597e6b6443a1">More...</a><br /></td></tr>
<tr class="separator:ab4e77f500d62436a8bd1597e6b6443a1 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bcbb4306a9c04cda838f96e85a2116 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a56bcbb4306a9c04cda838f96e85a2116">NumberOfMessages</a> () const</td></tr>
<tr class="memdesc:a56bcbb4306a9c04cda838f96e85a2116 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the number of meesages processed by this object.  <a href="class_buffered_transformation.html#a56bcbb4306a9c04cda838f96e85a2116">More...</a><br /></td></tr>
<tr class="separator:a56bcbb4306a9c04cda838f96e85a2116 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d7fdaa525a59cf72cdc431570f3df8 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aa0d7fdaa525a59cf72cdc431570f3df8">AnyMessages</a> () const</td></tr>
<tr class="memdesc:aa0d7fdaa525a59cf72cdc431570f3df8 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if any messages are available for retrieval.  <a href="class_buffered_transformation.html#aa0d7fdaa525a59cf72cdc431570f3df8">More...</a><br /></td></tr>
<tr class="separator:aa0d7fdaa525a59cf72cdc431570f3df8 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc8562950fd563f7c62d1f1e5ec6b1e inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a8dc8562950fd563f7c62d1f1e5ec6b1e">GetNextMessage</a> ()</td></tr>
<tr class="memdesc:a8dc8562950fd563f7c62d1f1e5ec6b1e inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start retrieving the next message.  <a href="class_buffered_transformation.html#a8dc8562950fd563f7c62d1f1e5ec6b1e">More...</a><br /></td></tr>
<tr class="separator:a8dc8562950fd563f7c62d1f1e5ec6b1e inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace560f14489f478bb4cd17c41905774e inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ace560f14489f478bb4cd17c41905774e">SkipMessages</a> (unsigned int count=UINT_MAX)</td></tr>
<tr class="memdesc:ace560f14489f478bb4cd17c41905774e inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip a number of meessages.  <a href="class_buffered_transformation.html#ace560f14489f478bb4cd17c41905774e">More...</a><br /></td></tr>
<tr class="separator:ace560f14489f478bb4cd17c41905774e inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0446d21781676a6f9c64d0b7a727d314 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a0446d21781676a6f9c64d0b7a727d314">TransferMessagesTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, unsigned int count=UINT_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>)</td></tr>
<tr class="memdesc:a0446d21781676a6f9c64d0b7a727d314 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer messages from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a0446d21781676a6f9c64d0b7a727d314">More...</a><br /></td></tr>
<tr class="separator:a0446d21781676a6f9c64d0b7a727d314 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d4b2099b75141367e96ce60c6eb939f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a2d4b2099b75141367e96ce60c6eb939f">CopyMessagesTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, unsigned int count=UINT_MAX, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>) const</td></tr>
<tr class="memdesc:a2d4b2099b75141367e96ce60c6eb939f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy messages from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a2d4b2099b75141367e96ce60c6eb939f">More...</a><br /></td></tr>
<tr class="separator:a2d4b2099b75141367e96ce60c6eb939f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaae2c7846a506939b40c2c8b708af1d4 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top"><a id="aaae2c7846a506939b40c2c8b708af1d4"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aaae2c7846a506939b40c2c8b708af1d4">SkipAll</a> ()</td></tr>
<tr class="memdesc:aaae2c7846a506939b40c2c8b708af1d4 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip all messages in the series. <br /></td></tr>
<tr class="separator:aaae2c7846a506939b40c2c8b708af1d4 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c3629cdd9be90695c9701c1b8e24a2 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a84c3629cdd9be90695c9701c1b8e24a2">TransferAllTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>)</td></tr>
<tr class="memdesc:a84c3629cdd9be90695c9701c1b8e24a2 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer all bytes from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a84c3629cdd9be90695c9701c1b8e24a2">More...</a><br /></td></tr>
<tr class="separator:a84c3629cdd9be90695c9701c1b8e24a2 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18893c1bd5eee9263022f72d4ac992ad inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a18893c1bd5eee9263022f72d4ac992ad">CopyAllTo</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>) const</td></tr>
<tr class="memdesc:a18893c1bd5eee9263022f72d4ac992ad inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy messages from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a18893c1bd5eee9263022f72d4ac992ad">More...</a><br /></td></tr>
<tr class="separator:a18893c1bd5eee9263022f72d4ac992ad inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb36a158b63cfd54acbada1a3699598c inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aeb36a158b63cfd54acbada1a3699598c">GetNextMessageSeries</a> ()</td></tr>
<tr class="memdesc:aeb36a158b63cfd54acbada1a3699598c inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the next message in a series.  <a href="class_buffered_transformation.html#aeb36a158b63cfd54acbada1a3699598c">More...</a><br /></td></tr>
<tr class="separator:aeb36a158b63cfd54acbada1a3699598c inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aced989ed6c34a7e91c725df5daffcf57 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aced989ed6c34a7e91c725df5daffcf57">NumberOfMessagesInThisSeries</a> () const</td></tr>
<tr class="memdesc:aced989ed6c34a7e91c725df5daffcf57 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the number of messages in a series.  <a href="class_buffered_transformation.html#aced989ed6c34a7e91c725df5daffcf57">More...</a><br /></td></tr>
<tr class="separator:aced989ed6c34a7e91c725df5daffcf57 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1b83d07c4e05a86e054fbaa32e50468 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ad1b83d07c4e05a86e054fbaa32e50468">NumberOfMessageSeries</a> () const</td></tr>
<tr class="memdesc:ad1b83d07c4e05a86e054fbaa32e50468 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the number of messages in a series.  <a href="class_buffered_transformation.html#ad1b83d07c4e05a86e054fbaa32e50468">More...</a><br /></td></tr>
<tr class="separator:ad1b83d07c4e05a86e054fbaa32e50468 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a70058989762156c376d7ffa5cb303e inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a1a70058989762156c376d7ffa5cb303e">TransferMessagesTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, unsigned int &amp;messageCount, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>, bool blocking=true)</td></tr>
<tr class="memdesc:a1a70058989762156c376d7ffa5cb303e inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer messages from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a1a70058989762156c376d7ffa5cb303e">More...</a><br /></td></tr>
<tr class="separator:a1a70058989762156c376d7ffa5cb303e inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e47718aa65674256e1b069ec8e706b7 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a3e47718aa65674256e1b069ec8e706b7">TransferAllTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;target, const std::string &amp;channel=<a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a>, bool blocking=true)</td></tr>
<tr class="memdesc:a3e47718aa65674256e1b069ec8e706b7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer all bytes from this object to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>.  <a href="class_buffered_transformation.html#a3e47718aa65674256e1b069ec8e706b7">More...</a><br /></td></tr>
<tr class="separator:a3e47718aa65674256e1b069ec8e706b7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a60b54fafdb3df59e1457ef629fc5f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a97a60b54fafdb3df59e1457ef629fc5f">ChannelPut</a> (const std::string &amp;channel, byte inByte, bool blocking=true)</td></tr>
<tr class="memdesc:a97a60b54fafdb3df59e1457ef629fc5f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a byte for processing on a channel.  <a href="class_buffered_transformation.html#a97a60b54fafdb3df59e1457ef629fc5f">More...</a><br /></td></tr>
<tr class="separator:a97a60b54fafdb3df59e1457ef629fc5f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b7fcb31b4cb09d38242354fcbc4b45c inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a5b7fcb31b4cb09d38242354fcbc4b45c">ChannelPut</a> (const std::string &amp;channel, const byte *inString, size_t length, bool blocking=true)</td></tr>
<tr class="memdesc:a5b7fcb31b4cb09d38242354fcbc4b45c inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a byte buffer for processing on a channel.  <a href="class_buffered_transformation.html#a5b7fcb31b4cb09d38242354fcbc4b45c">More...</a><br /></td></tr>
<tr class="separator:a5b7fcb31b4cb09d38242354fcbc4b45c inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dc27692b14108ed057beb4db67fed2f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a3dc27692b14108ed057beb4db67fed2f">ChannelPutModifiable</a> (const std::string &amp;channel, byte *inString, size_t length, bool blocking=true)</td></tr>
<tr class="memdesc:a3dc27692b14108ed057beb4db67fed2f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes that may be modified by callee on a channel.  <a href="class_buffered_transformation.html#a3dc27692b14108ed057beb4db67fed2f">More...</a><br /></td></tr>
<tr class="separator:a3dc27692b14108ed057beb4db67fed2f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1bca66c16e0e52793059b41353964bd inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aa1bca66c16e0e52793059b41353964bd">ChannelPutWord16</a> (const std::string &amp;channel, word16 value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>, bool blocking=true)</td></tr>
<tr class="memdesc:aa1bca66c16e0e52793059b41353964bd inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a 16-bit word for processing on a channel.  <a href="class_buffered_transformation.html#aa1bca66c16e0e52793059b41353964bd">More...</a><br /></td></tr>
<tr class="separator:aa1bca66c16e0e52793059b41353964bd inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb06216012d6c40609db092952afcf3f inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#acb06216012d6c40609db092952afcf3f">ChannelPutWord32</a> (const std::string &amp;channel, word32 value, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a>, bool blocking=true)</td></tr>
<tr class="memdesc:acb06216012d6c40609db092952afcf3f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a 32-bit word for processing on a channel.  <a href="class_buffered_transformation.html#acb06216012d6c40609db092952afcf3f">More...</a><br /></td></tr>
<tr class="separator:acb06216012d6c40609db092952afcf3f inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b37b299c5835083e58b205f9cc25cc inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ae0b37b299c5835083e58b205f9cc25cc">ChannelMessageEnd</a> (const std::string &amp;channel, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:ae0b37b299c5835083e58b205f9cc25cc inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the end of a message.  <a href="class_buffered_transformation.html#ae0b37b299c5835083e58b205f9cc25cc">More...</a><br /></td></tr>
<tr class="separator:ae0b37b299c5835083e58b205f9cc25cc inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3e9efe4c59093c330d287140fcfbdd9 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ad3e9efe4c59093c330d287140fcfbdd9">ChannelPutMessageEnd</a> (const std::string &amp;channel, const byte *inString, size_t length, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:ad3e9efe4c59093c330d287140fcfbdd9 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing and signal the end of a message.  <a href="class_buffered_transformation.html#ad3e9efe4c59093c330d287140fcfbdd9">More...</a><br /></td></tr>
<tr class="separator:ad3e9efe4c59093c330d287140fcfbdd9 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeb151c318a472c5f1cf41617f3414a5 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aeeb151c318a472c5f1cf41617f3414a5">SetRetrievalChannel</a> (const std::string &amp;channel)</td></tr>
<tr class="memdesc:aeeb151c318a472c5f1cf41617f3414a5 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default retrieval channel.  <a href="class_buffered_transformation.html#aeeb151c318a472c5f1cf41617f3414a5">More...</a><br /></td></tr>
<tr class="separator:aeeb151c318a472c5f1cf41617f3414a5 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20112606fc006c56f1561653cabd9542 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a20112606fc006c56f1561653cabd9542">Attachable</a> ()</td></tr>
<tr class="memdesc:a20112606fc006c56f1561653cabd9542 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the object allows attachment.  <a href="class_buffered_transformation.html#a20112606fc006c56f1561653cabd9542">More...</a><br /></td></tr>
<tr class="separator:a20112606fc006c56f1561653cabd9542 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba6bbc169e26ed77a6bb5d50f91abda0 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#aba6bbc169e26ed77a6bb5d50f91abda0">AttachedTransformation</a> ()</td></tr>
<tr class="memdesc:aba6bbc169e26ed77a6bb5d50f91abda0 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object immediately attached to this object.  <a href="class_buffered_transformation.html#aba6bbc169e26ed77a6bb5d50f91abda0">More...</a><br /></td></tr>
<tr class="separator:aba6bbc169e26ed77a6bb5d50f91abda0 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14186840b67e8ebc9c05d1eb581598d inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ab14186840b67e8ebc9c05d1eb581598d">AttachedTransformation</a> () const</td></tr>
<tr class="memdesc:ab14186840b67e8ebc9c05d1eb581598d inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object immediately attached to this object.  <a href="class_buffered_transformation.html#ab14186840b67e8ebc9c05d1eb581598d">More...</a><br /></td></tr>
<tr class="separator:ab14186840b67e8ebc9c05d1eb581598d inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac90b13b5279c66c59816df370df321f7 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ac90b13b5279c66c59816df370df321f7">Detach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment=NULL)</td></tr>
<tr class="memdesc:ac90b13b5279c66c59816df370df321f7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the current attachment chain and attach a new one.  <a href="class_buffered_transformation.html#ac90b13b5279c66c59816df370df321f7">More...</a><br /></td></tr>
<tr class="separator:ac90b13b5279c66c59816df370df321f7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f6cbec970dcb509b23a08fb28b3e055 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a9f6cbec970dcb509b23a08fb28b3e055">Attach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment)</td></tr>
<tr class="memdesc:a9f6cbec970dcb509b23a08fb28b3e055 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add newAttachment to the end of attachment chain.  <a href="class_buffered_transformation.html#a9f6cbec970dcb509b23a08fb28b3e055">More...</a><br /></td></tr>
<tr class="separator:a9f6cbec970dcb509b23a08fb28b3e055 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_algorithm')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_algorithm.html">Algorithm</a></td></tr>
<tr class="memitem:a1c77f5117ca2cd881baf26a364cfc606 inherit pub_methods_class_algorithm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html#a1c77f5117ca2cd881baf26a364cfc606">Algorithm</a> (bool checkSelfTestStatus=true)</td></tr>
<tr class="memdesc:a1c77f5117ca2cd881baf26a364cfc606 inherit pub_methods_class_algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for all crypto algorithms.  <a href="class_algorithm.html#a1c77f5117ca2cd881baf26a364cfc606">More...</a><br /></td></tr>
<tr class="separator:a1c77f5117ca2cd881baf26a364cfc606 inherit pub_methods_class_algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f31510a192d1121856efe8ad0a9b844 inherit pub_methods_class_algorithm"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html#a4f31510a192d1121856efe8ad0a9b844">AlgorithmName</a> () const</td></tr>
<tr class="memdesc:a4f31510a192d1121856efe8ad0a9b844 inherit pub_methods_class_algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the name of this algorithm.  <a href="class_algorithm.html#a4f31510a192d1121856efe8ad0a9b844">More...</a><br /></td></tr>
<tr class="separator:a4f31510a192d1121856efe8ad0a9b844 inherit pub_methods_class_algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_clonable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_clonable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_clonable.html">Clonable</a></td></tr>
<tr class="memitem:ad0016ba2d505c23aa85aad49e6c19bb7 inherit pub_methods_class_clonable"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_clonable.html">Clonable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_clonable.html#ad0016ba2d505c23aa85aad49e6c19bb7">Clone</a> () const</td></tr>
<tr class="memdesc:ad0016ba2d505c23aa85aad49e6c19bb7 inherit pub_methods_class_clonable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies this object.  <a href="class_clonable.html#ad0016ba2d505c23aa85aad49e6c19bb7">More...</a><br /></td></tr>
<tr class="separator:ad0016ba2d505c23aa85aad49e6c19bb7 inherit pub_methods_class_clonable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_waitable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_waitable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_waitable.html">Waitable</a></td></tr>
<tr class="memitem:aded81bbe562f61932306a64e6122a6ca inherit pub_methods_class_waitable"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca">Wait</a> (unsigned long milliseconds, <a class="el" href="class_call_stack.html">CallStack</a> const &amp;callStack)</td></tr>
<tr class="memdesc:aded81bbe562f61932306a64e6122a6ca inherit pub_methods_class_waitable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait on this object.  <a href="class_waitable.html#aded81bbe562f61932306a64e6122a6ca">More...</a><br /></td></tr>
<tr class="separator:aded81bbe562f61932306a64e6122a6ca inherit pub_methods_class_waitable"><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>Redirect input to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> without owning it. </p>
<dl class="section since"><dt>Since</dt><dd>Crypto++ 4.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00833">833</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a2de79d5742280aa614c218c7b950de67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2de79d5742280aa614c218c7b950de67">&#9670;&nbsp;</a></span>Behavior</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Redirector::Behavior</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Controls signal propagation behavior. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2de79d5742280aa614c218c7b950de67a1ca858a44d042173d50b058a34c3403c"></a>DATA_ONLY&#160;</td><td class="fielddoc"><p>Pass data only. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2de79d5742280aa614c218c7b950de67a469c499eec32b53d40476c7ff7bb20d0"></a>PASS_SIGNALS&#160;</td><td class="fielddoc"><p>Pass signals. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2de79d5742280aa614c218c7b950de67a619f260cb40cef8ab7a1bef2dfd568e1"></a>PASS_WAIT_OBJECTS&#160;</td><td class="fielddoc"><p>Pass wait events. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2de79d5742280aa614c218c7b950de67a9bedf58acdacc835d476e8783c169c2f"></a>PASS_EVERYTHING&#160;</td><td class="fielddoc"><p>Pass everything. </p>
<p>PASS_EVERYTHING is default </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00838">838</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0ce7d175c4cf620add11915dcbe447fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ce7d175c4cf620add11915dcbe447fb">&#9670;&nbsp;</a></span>Redirector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Redirector::Redirector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67">Behavior</a>&#160;</td>
          <td class="paramname"><em>behavior</em> = <code><a class="el" href="class_redirector.html#a2de79d5742280aa614c218c7b950de67a9bedf58acdacc835d476e8783c169c2f">PASS_EVERYTHING</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a <a class="el" href="class_redirector.html" title="Redirect input to another BufferedTransformation without owning it.">Redirector</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>the destination <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> </td></tr>
    <tr><td class="paramname">behavior</td><td>Behavior "flags" specifying signal propagation </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00859">859</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a890fae5ac4297b1c06c6f93252a0f92c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a890fae5ac4297b1c06c6f93252a0f92c">&#9670;&nbsp;</a></span>Redirect()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Redirector::Redirect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Redirect input to another <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>the destination <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00864">864</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a2ee0003a41e0fbebe12ff2b4d9f19559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee0003a41e0fbebe12ff2b4d9f19559">&#9670;&nbsp;</a></span>CanModifyInput()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Redirector::CanModifyInput </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determines whether input can be modified by the callee. </p>
<dl class="section return"><dt>Returns</dt><dd>true if input can be modified, false otherwise</dd></dl>
<p>The base class implementation returns false. </p>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#aff5e36148728c1db63d9d3a6f5b49d7f">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00875">875</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="af5fe25d9b6e17ec878e8f2b188702736"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5fe25d9b6e17ec878e8f2b188702736">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Redirector::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;&#160;</td>
          <td class="paramname"><em>parameters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize or reinitialize this object, with signal propagation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parameters</td><td>a set of <a class="el" href="class_name_value_pairs.html" title="Interface for retrieving values given their names.">NameValuePairs</a> to initialize or reinitialize this object </td></tr>
    <tr><td class="paramname">propagation</td><td>the number of attached transformations the <a class="el" href="class_redirector.html#af5fe25d9b6e17ec878e8f2b188702736" title="Initialize or reinitialize this object, with signal propagation.">Initialize()</a> signal should be passed</td></tr>
  </table>
  </dd>
</dl>
<p><a class="el" href="class_redirector.html#af5fe25d9b6e17ec878e8f2b188702736" title="Initialize or reinitialize this object, with signal propagation.">Initialize()</a> is used to initialize or reinitialize an object using a variable number of arbitrarily typed arguments. The function avoids the need for multiple constructors providing all possible combintations of configurable parameters.</p>
<p>propagation count includes this object. Setting propagation to <code>1</code> means this object only. Setting propagation to <code>-1</code> means unlimited propagation. </p>

<p>Implements <a class="el" href="class_custom_signal_propagation.html#a74fd5f3bb893d25f73f5bbab2c2d89ef">CustomSignalPropagation&lt; Sink &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8cpp_source.html#l00473">473</a> of file <a class="el" href="filters_8cpp_source.html">filters.cpp</a>.</p>

</div>
</div>
<a id="a09afd32c22cc2d4ef9ddc8650b8657f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09afd32c22cc2d4ef9ddc8650b8657f5">&#9670;&nbsp;</a></span>CreatePutSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte* Redirector::CreatePutSpace </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Request space which can be written into by the caller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>the requested size of the buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>byte pointer to the space to input data</dd></dl>
<p>The purpose of this method is to help avoid extra memory allocations.</p>
<p>size is an <em>IN</em> and <em>OUT</em> parameter and used as a hint. When the call is made, size is the requested size of the buffer. When the call returns, size is the size of the array returned to the caller.</p>
<p>The base class implementation sets size to 0 and returns NULL. </p><dl class="section note"><dt>Note</dt><dd>Some objects, like <a class="el" href="class_array_sink.html" title="Copy input to a memory buffer.">ArraySink</a>, cannot create a space because its fixed. In the case of an <a class="el" href="class_array_sink.html" title="Copy input to a memory buffer.">ArraySink</a>, the pointer to the array is returned and the size is remaining size. </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#af390325c959c3d6a2c03a447d6cd469d">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00879">879</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a51620dc9565b323de2b55d3a85e830a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51620dc9565b323de2b55d3a85e830a1">&#9670;&nbsp;</a></span>Put2()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Redirector::Put2 </td>
          <td>(</td>
          <td class="paramtype">const byte *&#160;</td>
          <td class="paramname"><em>inString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>messageEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Input multiple bytes for processing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inString</td><td>the byte buffer to process </td></tr>
    <tr><td class="paramname">length</td><td>the size of the string, in bytes </td></tr>
    <tr><td class="paramname">messageEnd</td><td>means how many filters to signal <a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f" title="Signals the end of messages to the object.">MessageEnd()</a> to, including this one </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of bytes that remain in the block (i.e., bytes not processed). 0 indicates all bytes were processed.</dd></dl>
<p>Derived classes must implement <a class="el" href="class_redirector.html#a51620dc9565b323de2b55d3a85e830a1" title="Input multiple bytes for processing.">Put2()</a>. </p>

<p>Implements <a class="el" href="class_buffered_transformation.html#ad396dcb42260f23125a35ec0e5d17d55">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00889">889</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a201243b803642ebfd392579953e75e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a201243b803642ebfd392579953e75e92">&#9670;&nbsp;</a></span>Flush()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Redirector::Flush </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hardFlush</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flush buffered input and/or output, with signal propagation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hardFlush</td><td>is used to indicate whether all data should be flushed </td></tr>
    <tr><td class="paramname">propagation</td><td>the number of attached transformations the <a class="el" href="class_redirector.html#a201243b803642ebfd392579953e75e92" title="Flush buffered input and/or output, with signal propagation.">Flush()</a> signal should be passed </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input</td></tr>
  </table>
  </dd>
</dl>
<p>propagation count includes this object. Setting propagation to <code>1</code> means this object only. Setting propagation to <code>-1</code> means unlimited propagation. </p><dl class="section note"><dt>Note</dt><dd>Hard flushes must be used with care. It means try to process and output everything, even if there may not be enough data to complete the action. For example, hard flushing a <a class="el" href="class_hex_decoder.html" title="Decode base 16 data back to bytes.">HexDecoder</a> would cause an error if you do it after inputing an odd number of hex encoded characters. </dd>
<dd>
For some types of filters, like <a class="el" href="class_zlib_decompressor.html" title="ZLIB Decompressor (RFC 1950)">ZlibDecompressor</a>, hard flushes can only be done at "synchronization points". These synchronization points are positions in the data stream that are created by hard flushes on the corresponding reverse filters, in this example <a class="el" href="class_zlib_compressor.html" title="ZLIB Compressor (RFC 1950)">ZlibCompressor</a>. This is useful when zlib compressed data is moved across a network in packets and compression state is preserved across packets, as in the SSH2 protocol. </dd></dl>

<p>Implements <a class="el" href="class_custom_flush_propagation.html#ac0faa3bd64279e9ad1912cdcdff446ef">CustomFlushPropagation&lt; Sink &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00891">891</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a34c42c1730d031f486e5d285c6dc3314"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34c42c1730d031f486e5d285c6dc3314">&#9670;&nbsp;</a></span>MessageSeriesEnd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Redirector::MessageSeriesEnd </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Marks the end of a series of messages, with signal propagation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propagation</td><td>the number of attached transformations the <a class="el" href="class_redirector.html#a34c42c1730d031f486e5d285c6dc3314" title="Marks the end of a series of messages, with signal propagation.">MessageSeriesEnd()</a> signal should be passed </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input</td></tr>
  </table>
  </dd>
</dl>
<p>Each object that receives the signal will perform its processing, decrement propagation, and then pass the signal on to attached transformations if the value is not 0.</p>
<p>propagation count includes this object. Setting propagation to <code>1</code> means this object only. Setting propagation to <code>-1</code> means unlimited propagation. </p><dl class="section note"><dt>Note</dt><dd>There should be a <a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f" title="Signals the end of messages to the object.">MessageEnd()</a> immediately before <a class="el" href="class_redirector.html#a34c42c1730d031f486e5d285c6dc3314" title="Marks the end of a series of messages, with signal propagation.">MessageSeriesEnd()</a>. </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#aae4c5ae024419e31bfa0c24eb35b24c2">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00893">893</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a6e882384f0214dfc148abf38955ec0e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e882384f0214dfc148abf38955ec0e5">&#9670;&nbsp;</a></span>ChannelCreatePutSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte* Redirector::ChannelCreatePutSpace </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Request space which can be written into by the caller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>the channel to process the data </td></tr>
    <tr><td class="paramname">size</td><td>the requested size of the buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to a memory block with length size</dd></dl>
<p>The purpose of this method is to help avoid extra memory allocations.</p>
<p>size is an <em>IN</em> and <em>OUT</em> parameter and used as a hint. When the call is made, size is the requested size of the buffer. When the call returns, size is the size of the array returned to the caller.</p>
<p>The base class implementation sets size to 0 and returns NULL. </p><dl class="section note"><dt>Note</dt><dd>Some objects, like <a class="el" href="class_array_sink.html" title="Copy input to a memory buffer.">ArraySink()</a>, cannot create a space because its fixed. In the case of an <a class="el" href="class_array_sink.html" title="Copy input to a memory buffer.">ArraySink()</a>, the pointer to the array is returned and the size is remaining size. </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#a877494d8de597af935cb770034f7f170">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00896">896</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="acd6d9e39c8d0f95d99b41129f1c97dae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd6d9e39c8d0f95d99b41129f1c97dae">&#9670;&nbsp;</a></span>ChannelPut2()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Redirector::ChannelPut2 </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const byte *&#160;</td>
          <td class="paramname"><em>inString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>messageEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Input multiple bytes for processing on a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>the channel to process the data. </td></tr>
    <tr><td class="paramname">inString</td><td>the byte buffer to process. </td></tr>
    <tr><td class="paramname">length</td><td>the size of the string, in bytes. </td></tr>
    <tr><td class="paramname">messageEnd</td><td>means how many filters to signal <a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f" title="Signals the end of messages to the object.">MessageEnd()</a> to, including this one. </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of bytes that remain in the block (i.e., bytes not processed) </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#ae6b026f47d8a0ea2e35a6cb8d9ec2c97">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00906">906</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="aa39d3ce8654aede6c9473129125dffc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa39d3ce8654aede6c9473129125dffc7">&#9670;&nbsp;</a></span>ChannelPutModifiable2()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Redirector::ChannelPutModifiable2 </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte *&#160;</td>
          <td class="paramname"><em>inString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>messageEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Input multiple bytes that may be modified by callee on a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>the channel to process the data </td></tr>
    <tr><td class="paramname">inString</td><td>the byte buffer to process </td></tr>
    <tr><td class="paramname">length</td><td>the size of the string, in bytes </td></tr>
    <tr><td class="paramname">messageEnd</td><td>means how many filters to signal <a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f" title="Signals the end of messages to the object.">MessageEnd()</a> to, including this one </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of bytes that remain in the block (i.e., bytes not processed) </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#add2a8b1b88a881edf8bebe089438fc66">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00908">908</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a9dde3ac97812d4ba31245f46192cb627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dde3ac97812d4ba31245f46192cb627">&#9670;&nbsp;</a></span>ChannelFlush()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Redirector::ChannelFlush </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hardFlush</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flush buffered input and/or output on a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>the channel to flush the data </td></tr>
    <tr><td class="paramname">hardFlush</td><td>is used to indicate whether all data should be flushed </td></tr>
    <tr><td class="paramname">propagation</td><td>the number of attached transformations the <a class="el" href="class_redirector.html#a9dde3ac97812d4ba31245f46192cb627" title="Flush buffered input and/or output on a channel.">ChannelFlush()</a> signal should be passed </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true of the Flush was successful</dd></dl>
<p>propagation count includes this object. Setting propagation to <code>1</code> means this object only. Setting propagation to <code>-1</code> means unlimited propagation. </p>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#a6b504b2694ecb5d709a9858c5b93a0f7">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00910">910</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="a827e4af441934015de54ceb14334503d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a827e4af441934015de54ceb14334503d">&#9670;&nbsp;</a></span>ChannelMessageSeriesEnd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Redirector::ChannelMessageSeriesEnd </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Marks the end of a series of messages on a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>the channel to signal the end of a series of messages </td></tr>
    <tr><td class="paramname">propagation</td><td>the number of attached transformations the <a class="el" href="class_redirector.html#a827e4af441934015de54ceb14334503d" title="Marks the end of a series of messages on a channel.">ChannelMessageSeriesEnd()</a> signal should be passed </td></tr>
    <tr><td class="paramname">blocking</td><td>specifies whether the object should block when processing input</td></tr>
  </table>
  </dd>
</dl>
<p>Each object that receives the signal will perform its processing, decrement propagation, and then pass the signal on to attached transformations if the value is not 0.</p>
<p>propagation count includes this object. Setting propagation to <code>1</code> means this object only. Setting propagation to <code>-1</code> means unlimited propagation. </p><dl class="section note"><dt>Note</dt><dd>There should be a <a class="el" href="class_buffered_transformation.html#a20ae0ef2e4ff338b43849e541e9b940f" title="Signals the end of messages to the object.">MessageEnd()</a> immediately before <a class="el" href="class_redirector.html#a34c42c1730d031f486e5d285c6dc3314" title="Marks the end of a series of messages, with signal propagation.">MessageSeriesEnd()</a>. </dd></dl>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#ae0fc63d42d94958f71fc573b17469921">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00912">912</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<a id="ac0dc5f63f7a57af37f819aa9251a78bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0dc5f63f7a57af37f819aa9251a78bf">&#9670;&nbsp;</a></span>GetWaitObjects()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Redirector::GetWaitObjects </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_wait_object_container.html">WaitObjectContainer</a> &amp;&#160;</td>
          <td class="paramname"><em>container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_call_stack.html">CallStack</a> const &amp;&#160;</td>
          <td class="paramname"><em>callStack</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves waitable objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">container</td><td>the wait container to receive the references to the objects </td></tr>
    <tr><td class="paramname">callStack</td><td><a class="el" href="class_call_stack.html">CallStack()</a> object used to select waitable objects</td></tr>
  </table>
  </dd>
</dl>
<p>GetWaitObjects is usually called in one of two ways. First, it can be called like <code>something.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("my func after X", 0));</code>. Second, if in an outer <a class="el" href="class_redirector.html#ac0dc5f63f7a57af37f819aa9251a78bf" title="Retrieves waitable objects.">GetWaitObjects()</a> method that itself takes a callStack parameter, it can be called like <code>innerThing.GetWaitObjects(c, <a class="el" href="class_call_stack.html">CallStack</a>("MyClass::GetWaitObjects at X", &amp;callStack));</code>. </p>

<p>Reimplemented from <a class="el" href="class_buffered_transformation.html#a127ccd1793fdda6548cd1295f848d0f7">BufferedTransformation</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00917">917</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="filters_8h_source.html">filters.h</a></li>
<li><a class="el" href="filters_8cpp_source.html">filters.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Nov 27 2019 15:04:35 for Crypto++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>