Sophie

Sophie

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

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++: Filter 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-methods">Public Member Functions</a> &#124;
<a href="class_filter-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Filter Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Implementation of <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>'s attachment interface.  
 <a href="class_filter.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 Filter:</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_filter.png" usemap="#Filter_map" alt=""/>
  <map id="Filter_map" name="Filter_map">
<area href="class_buffered_transformation.html" title="Interface for buffered transformations." alt="BufferedTransformation" shape="rect" coords="107,112,312,136"/>
<area href="class_not_copyable.html" title="Ensures an object is not copyable." alt="NotCopyable" shape="rect" coords="322,112,527,136"/>
<area href="class_algorithm.html" title="Interface for all crypto algorithms." alt="Algorithm" shape="rect" coords="0,56,205,80"/>
<area href="class_waitable.html" title="Interface for objects that can be waited on." alt="Waitable" shape="rect" coords="215,56,420,80"/>
<area href="class_clonable.html" title="Interface for cloning objects." alt="Clonable" shape="rect" coords="0,0,205,24"/>
<area href="class_auto_signaling.html" alt="AutoSignaling&lt; Filter &gt;" shape="rect" coords="430,224,635,248"/>
<area href="class_bufferless.html" alt="Bufferless&lt; Filter &gt;" shape="rect" coords="430,280,635,304"/>
<area href="class_custom_flush_propagation.html" alt="CustomFlushPropagation&lt; Filter &gt;" shape="rect" coords="430,336,635,360"/>
<area href="class_encoded_object_filter.html" title="ASN.1 encoded object filter." alt="EncodedObjectFilter" shape="rect" coords="430,392,635,416"/>
<area href="class_filter_with_buffered_input.html" title="Divides an input stream into discrete blocks." alt="FilterWithBufferedInput" shape="rect" coords="430,448,635,472"/>
<area href="class_filter_with_input_queue.html" title="A filter that buffers input using a ByteQueue." alt="FilterWithInputQueue" shape="rect" coords="430,504,635,528"/>
<area href="class_input_rejecting.html" alt="InputRejecting&lt; Filter &gt;" shape="rect" coords="430,560,635,584"/>
<area href="class_low_first_bit_writer.html" title="Encoding table writer." alt="LowFirstBitWriter" shape="rect" coords="430,616,635,640"/>
<area href="class_unflushable.html" alt="Unflushable&lt; Filter &gt;" shape="rect" coords="430,672,635,696"/>
  </map>
</div></div>
<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:ab24c6c52bb6185c25ee6efcced36dbd0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#ab24c6c52bb6185c25ee6efcced36dbd0">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:ab24c6c52bb6185c25ee6efcced36dbd0"><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="#ab24c6c52bb6185c25ee6efcced36dbd0">More...</a><br /></td></tr>
<tr class="separator:ab24c6c52bb6185c25ee6efcced36dbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cde2dec371b3074cb4ed92d57ef1f24"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a9cde2dec371b3074cb4ed92d57ef1f24">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:a9cde2dec371b3074cb4ed92d57ef1f24"><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="#a9cde2dec371b3074cb4ed92d57ef1f24">More...</a><br /></td></tr>
<tr class="separator:a9cde2dec371b3074cb4ed92d57ef1f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c011bdc71755b373292e7a722e9e332"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a0c011bdc71755b373292e7a722e9e332">Initialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters=<a class="el" href="cryptlib_8h.html#a04be65ada92ccb1e6aac0d94b4cc394b">g_nullNameValuePairs</a>, int propagation=-1)</td></tr>
<tr class="memdesc:a0c011bdc71755b373292e7a722e9e332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize or reinitialize this object, with signal propagation.  <a href="#a0c011bdc71755b373292e7a722e9e332">More...</a><br /></td></tr>
<tr class="separator:a0c011bdc71755b373292e7a722e9e332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad845deb5113d2bd04d109c05abfd3098"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#ad845deb5113d2bd04d109c05abfd3098">Flush</a> (bool hardFlush, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:ad845deb5113d2bd04d109c05abfd3098"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffered input and/or output, with signal propagation.  <a href="#ad845deb5113d2bd04d109c05abfd3098">More...</a><br /></td></tr>
<tr class="separator:ad845deb5113d2bd04d109c05abfd3098"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa42c62587dda61266ac8195d9c9edb47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#aa42c62587dda61266ac8195d9c9edb47">MessageSeriesEnd</a> (int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:aa42c62587dda61266ac8195d9c9edb47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the end of a series of messages, with signal propagation.  <a href="#aa42c62587dda61266ac8195d9c9edb47">More...</a><br /></td></tr>
<tr class="separator:aa42c62587dda61266ac8195d9c9edb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">ATTACHMENT</div></td></tr>
<tr class="memitem:a3c1c355eb02ae048020785d335bad6b3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a3c1c355eb02ae048020785d335bad6b3">Filter</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment=NULL)</td></tr>
<tr class="memdesc:a3c1c355eb02ae048020785d335bad6b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a>.  <a href="#a3c1c355eb02ae048020785d335bad6b3">More...</a><br /></td></tr>
<tr class="separator:a3c1c355eb02ae048020785d335bad6b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e7251247b5c2cc3b0c15e861cc88e16"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a6e7251247b5c2cc3b0c15e861cc88e16">Attachable</a> ()</td></tr>
<tr class="memdesc:a6e7251247b5c2cc3b0c15e861cc88e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if attachable.  <a href="#a6e7251247b5c2cc3b0c15e861cc88e16">More...</a><br /></td></tr>
<tr class="separator:a6e7251247b5c2cc3b0c15e861cc88e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8fc888888b2dad88bf64fc703044a93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#ac8fc888888b2dad88bf64fc703044a93">AttachedTransformation</a> ()</td></tr>
<tr class="memdesc:ac8fc888888b2dad88bf64fc703044a93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve attached transformation.  <a href="#ac8fc888888b2dad88bf64fc703044a93">More...</a><br /></td></tr>
<tr class="separator:ac8fc888888b2dad88bf64fc703044a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a049148324c63bda47ac676f64e113b26"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a049148324c63bda47ac676f64e113b26">AttachedTransformation</a> () const</td></tr>
<tr class="memdesc:a049148324c63bda47ac676f64e113b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve attached transformation.  <a href="#a049148324c63bda47ac676f64e113b26">More...</a><br /></td></tr>
<tr class="separator:a049148324c63bda47ac676f64e113b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93817876b45172108fe0342de6442f75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_filter.html#a93817876b45172108fe0342de6442f75">Detach</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *newAttachment=NULL)</td></tr>
<tr class="memdesc:a93817876b45172108fe0342de6442f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace an attached transformation.  <a href="#a93817876b45172108fe0342de6442f75">More...</a><br /></td></tr>
<tr class="separator:a93817876b45172108fe0342de6442f75"><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:af390325c959c3d6a2c03a447d6cd469d inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#af390325c959c3d6a2c03a447d6cd469d">CreatePutSpace</a> (size_t &amp;size)</td></tr>
<tr class="memdesc:af390325c959c3d6a2c03a447d6cd469d inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request space which can be written into by the caller.  <a href="class_buffered_transformation.html#af390325c959c3d6a2c03a447d6cd469d">More...</a><br /></td></tr>
<tr class="separator:af390325c959c3d6a2c03a447d6cd469d inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff5e36148728c1db63d9d3a6f5b49d7f 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#aff5e36148728c1db63d9d3a6f5b49d7f">CanModifyInput</a> () const</td></tr>
<tr class="memdesc:aff5e36148728c1db63d9d3a6f5b49d7f inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether input can be modified by the callee.  <a href="class_buffered_transformation.html#aff5e36148728c1db63d9d3a6f5b49d7f">More...</a><br /></td></tr>
<tr class="separator:aff5e36148728c1db63d9d3a6f5b49d7f 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:ad396dcb42260f23125a35ec0e5d17d55 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#ad396dcb42260f23125a35ec0e5d17d55">Put2</a> (const byte *inString, size_t length, int messageEnd, bool blocking)=0</td></tr>
<tr class="memdesc:ad396dcb42260f23125a35ec0e5d17d55 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing.  <a href="class_buffered_transformation.html#ad396dcb42260f23125a35ec0e5d17d55">More...</a><br /></td></tr>
<tr class="separator:ad396dcb42260f23125a35ec0e5d17d55 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:a051a0b5e3e4cc81aca43a9c6cb02e0f9 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top"><a id="a051a0b5e3e4cc81aca43a9c6cb02e0f9"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a051a0b5e3e4cc81aca43a9c6cb02e0f9">GetMaxWaitObjectCount</a> () const</td></tr>
<tr class="memdesc:a051a0b5e3e4cc81aca43a9c6cb02e0f9 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the maximum number of waitable objects. <br /></td></tr>
<tr class="separator:a051a0b5e3e4cc81aca43a9c6cb02e0f9 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a127ccd1793fdda6548cd1295f848d0f7 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#a127ccd1793fdda6548cd1295f848d0f7">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:a127ccd1793fdda6548cd1295f848d0f7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves waitable objects.  <a href="class_buffered_transformation.html#a127ccd1793fdda6548cd1295f848d0f7">More...</a><br /></td></tr>
<tr class="separator:a127ccd1793fdda6548cd1295f848d0f7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb05ac3b6302e2ab994586d526fa804 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#a7bb05ac3b6302e2ab994586d526fa804">IsolatedInitialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;parameters)</td></tr>
<tr class="memdesc:a7bb05ac3b6302e2ab994586d526fa804 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize or reinitialize this object, without signal propagation.  <a href="class_buffered_transformation.html#a7bb05ac3b6302e2ab994586d526fa804">More...</a><br /></td></tr>
<tr class="separator:a7bb05ac3b6302e2ab994586d526fa804 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68044dc8d57bc02edee1ce02b459a63d 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#a68044dc8d57bc02edee1ce02b459a63d">IsolatedFlush</a> (bool hardFlush, bool blocking)=0</td></tr>
<tr class="memdesc:a68044dc8d57bc02edee1ce02b459a63d inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes data buffered by this object, without signal propagation.  <a href="class_buffered_transformation.html#a68044dc8d57bc02edee1ce02b459a63d">More...</a><br /></td></tr>
<tr class="separator:a68044dc8d57bc02edee1ce02b459a63d 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:a877494d8de597af935cb770034f7f170 inherit pub_methods_class_buffered_transformation"><td class="memItemLeft" align="right" valign="top">virtual byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#a877494d8de597af935cb770034f7f170">ChannelCreatePutSpace</a> (const std::string &amp;channel, size_t &amp;size)</td></tr>
<tr class="memdesc:a877494d8de597af935cb770034f7f170 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request space which can be written into by the caller.  <a href="class_buffered_transformation.html#a877494d8de597af935cb770034f7f170">More...</a><br /></td></tr>
<tr class="separator:a877494d8de597af935cb770034f7f170 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6b026f47d8a0ea2e35a6cb8d9ec2c97 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#ae6b026f47d8a0ea2e35a6cb8d9ec2c97">ChannelPut2</a> (const std::string &amp;channel, const byte *inString, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:ae6b026f47d8a0ea2e35a6cb8d9ec2c97 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input multiple bytes for processing on a channel.  <a href="class_buffered_transformation.html#ae6b026f47d8a0ea2e35a6cb8d9ec2c97">More...</a><br /></td></tr>
<tr class="separator:ae6b026f47d8a0ea2e35a6cb8d9ec2c97 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add2a8b1b88a881edf8bebe089438fc66 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#add2a8b1b88a881edf8bebe089438fc66">ChannelPutModifiable2</a> (const std::string &amp;channel, byte *inString, size_t length, int messageEnd, bool blocking)</td></tr>
<tr class="memdesc:add2a8b1b88a881edf8bebe089438fc66 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#add2a8b1b88a881edf8bebe089438fc66">More...</a><br /></td></tr>
<tr class="separator:add2a8b1b88a881edf8bebe089438fc66 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b504b2694ecb5d709a9858c5b93a0f7 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#a6b504b2694ecb5d709a9858c5b93a0f7">ChannelFlush</a> (const std::string &amp;channel, bool hardFlush, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:a6b504b2694ecb5d709a9858c5b93a0f7 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffered input and/or output on a channel.  <a href="class_buffered_transformation.html#a6b504b2694ecb5d709a9858c5b93a0f7">More...</a><br /></td></tr>
<tr class="separator:a6b504b2694ecb5d709a9858c5b93a0f7 inherit pub_methods_class_buffered_transformation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0fc63d42d94958f71fc573b17469921 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#ae0fc63d42d94958f71fc573b17469921">ChannelMessageSeriesEnd</a> (const std::string &amp;channel, int propagation=-1, bool blocking=true)</td></tr>
<tr class="memdesc:ae0fc63d42d94958f71fc573b17469921 inherit pub_methods_class_buffered_transformation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the end of a series of messages on a channel.  <a href="class_buffered_transformation.html#ae0fc63d42d94958f71fc573b17469921">More...</a><br /></td></tr>
<tr class="separator:ae0fc63d42d94958f71fc573b17469921 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: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>Implementation of <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a>'s attachment interface. </p>
<p><a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> is a cornerstone of the Pipeline trinitiy. Data flows from Sources, through Filters, and then terminates in Sinks. The difference between a <a class="el" href="class_source.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Source</a> and <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> is a <a class="el" href="class_source.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Source</a> <em>pumps</em> data, while a <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> does not. The difference between a <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> and a <a class="el" href="class_sink.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Sink</a> is a <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> allows an attached transformation, while a <a class="el" href="class_sink.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Sink</a> does not.</p>
<p>See the discussion of <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> in <a class="el" href="cryptlib_8h.html" title="Abstract base classes that provide a uniform interface to this library.">cryptlib.h</a> for more details. </p>

<p class="definition">Definition at line <a class="el" href="filters_8h_source.html#l00035">35</a> of file <a class="el" href="filters_8h_source.html">filters.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3c1c355eb02ae048020785d335bad6b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c1c355eb02ae048020785d335bad6b3">&#9670;&nbsp;</a></span>Filter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Filter::Filter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td>
          <td class="paramname"><em>attachment</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">attachment</td><td>an optional attached transformation</td></tr>
  </table>
  </dd>
</dl>
<p>attachment can be <code>NULL</code>. </p>

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

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Filter::Attachable </td>
          <td>(</td>
          <td class="paramname"></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>Determine if attachable. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the object allows attached transformations, <code>false</code> otherwise. </dd></dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="class_source.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Source</a> and <a class="el" href="class_filter.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Filter</a> offer attached transformations; while <a class="el" href="class_sink.html" title="Implementation of BufferedTransformation&#39;s attachment interface.">Sink</a> does not. </dd></dl>

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

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

</div>
</div>
<a id="ac8fc888888b2dad88bf64fc703044a93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8fc888888b2dad88bf64fc703044a93">&#9670;&nbsp;</a></span>AttachedTransformation() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * Filter::AttachedTransformation </td>
          <td>(</td>
          <td class="paramname"></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>Retrieve attached transformation. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> if there is an attached transformation, <code>NULL</code> otherwise. </dd></dl>

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

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

</div>
</div>
<a id="a049148324c63bda47ac676f64e113b26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a049148324c63bda47ac676f64e113b26">&#9670;&nbsp;</a></span>AttachedTransformation() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> * Filter::AttachedTransformation </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve attached transformation. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> if there is an attached transformation, <code>NULL</code> otherwise. </dd></dl>

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

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

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Filter::Detach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> *&#160;</td>
          <td class="paramname"><em>newAttachment</em> = <code>NULL</code></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>Replace an attached transformation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newAttachment</td><td>an optional attached transformation</td></tr>
  </table>
  </dd>
</dl>
<p>newAttachment can be a single filter, a chain of filters or <code>NULL</code>. Pass <code>NULL</code> to remove an existing <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations.">BufferedTransformation</a> or chain of filters </p>

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

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

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Filter::TransferTo2 </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">lword &amp;&#160;</td>
          <td class="paramname"><em>byteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em> = <code><a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a></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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transfer bytes from this object 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>
    <tr><td class="paramname">byteCount</td><td>the number of bytes to transfer </td></tr>
    <tr><td class="paramname">channel</td><td>the channel on which the transfer should occur </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 transfer block (i.e., bytes not transferred)</dd></dl>
<p><a class="el" href="class_buffered_transformation.html#ac31ac5d2da7897fb097086496b85e6f5" title="move transferMax bytes of the buffered output to target as input">TransferTo()</a> removes bytes from this object and moves them to the destination. Transfer begins at the index position in the current stream, and not from an absolute position in the stream.</p>
<p>byteCount is an <em>IN</em> and <em>OUT</em> parameter. When the call is made, byteCount is the requested size of the transfer. When the call returns, byteCount is the number of bytes that were transferred. </p>

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

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

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Filter::CopyRangeTo2 </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">lword &amp;&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lword&#160;</td>
          <td class="paramname"><em>end</em> = <code>LWORD_MAX</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>channel</em> = <code><a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a></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> const</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>Copy bytes from this object 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>
    <tr><td class="paramname">begin</td><td>the 0-based index of the first byte to copy in the stream </td></tr>
    <tr><td class="paramname">end</td><td>the 0-based index of the last byte to copy in the stream </td></tr>
    <tr><td class="paramname">channel</td><td>the channel on which the transfer should occur </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 copy block (i.e., bytes not copied)</dd></dl>
<p>CopyRangeTo2 copies bytes from this object to the destination. The bytes are not removed from this object. Copying begins at the index position in the current stream, and not from an absolute position in the stream.</p>
<p>begin is an <em>IN</em> and <em>OUT</em> parameter. When the call is made, begin is the starting position of the copy. When the call returns, begin is the position of the first byte that was <em>not</em> copied (which may be different than end). begin can be used for subsequent calls to <a class="el" href="class_filter.html#a9cde2dec371b3074cb4ed92d57ef1f24" title="Copy bytes from this object to another BufferedTransformation.">CopyRangeTo2()</a>. </p>

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

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

</div>
</div>
<a id="a0c011bdc71755b373292e7a722e9e332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c011bdc71755b373292e7a722e9e332">&#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 Filter::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> = <code><a class="el" href="cryptlib_8h.html#a04be65ada92ccb1e6aac0d94b4cc394b">g_nullNameValuePairs</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>propagation</em> = <code>-1</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">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_filter.html#a0c011bdc71755b373292e7a722e9e332" 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_filter.html#a0c011bdc71755b373292e7a722e9e332" 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>Reimplemented from <a class="el" href="class_buffered_transformation.html#a0dd5456c06e0e47d901e8055b50df929">BufferedTransformation</a>.</p>

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

</div>
</div>
<a id="ad845deb5113d2bd04d109c05abfd3098"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad845deb5113d2bd04d109c05abfd3098">&#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 Filter::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">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_filter.html#ad845deb5113d2bd04d109c05abfd3098" 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>Reimplemented from <a class="el" href="class_buffered_transformation.html#a8a62b1b6c8f310363f32b05b20c306eb">BufferedTransformation</a>.</p>

<p>Reimplemented in <a class="el" href="class_multichannel.html#ae3e6176eb5f0de2857aa7066272c07ce">Multichannel&lt; Filter &gt;</a>, <a class="el" href="class_custom_flush_propagation.html#ac0faa3bd64279e9ad1912cdcdff446ef">CustomFlushPropagation&lt; Filter &gt;</a>, <a class="el" href="class_information_dispersal.html#aa348e2dd4609c563196f89e1cf2ad35c">InformationDispersal</a>, and <a class="el" href="class_secret_sharing.html#a670b6f5ba7ee9e1f029cd199f6722bb6">SecretSharing</a>.</p>

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

</div>
</div>
<a id="aa42c62587dda61266ac8195d9c9edb47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa42c62587dda61266ac8195d9c9edb47">&#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 Filter::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">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_filter.html#aa42c62587dda61266ac8195d9c9edb47" 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_filter.html#aa42c62587dda61266ac8195d9c9edb47" 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>Reimplemented in <a class="el" href="class_multichannel.html#a18b9b1cc4e6d2649214c62e447052db9">Multichannel&lt; Filter &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="filters_8cpp_source.html#l00095">95</a> of file <a class="el" href="filters_8cpp_source.html">filters.cpp</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:15 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>