⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 channels_8h-source.html

📁 著名的密码库Crypto++的文档 C++语言的杰作。程序员必备。
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00055"></a>00055 <a name="l00056"></a>00056         <span class="comment">// SunCC workaround: can't use const_iterator here</span><a name="l00057"></a><a class="code" href="class_channel_switch_typedefs.html#5928e683ccad25bc9c340208326db91e">00057</a>         <span class="keyword">typedef</span> RouteMap::iterator <a class="code" href="class_channel_switch_typedefs.html#5928e683ccad25bc9c340208326db91e">MapIterator</a>;<a name="l00058"></a><a class="code" href="class_channel_switch_typedefs.html#bb2b4ce9c6a4ef4a773f026beee70e57">00058</a>         <span class="keyword">typedef</span> DefaultRouteList::iterator <a class="code" href="class_channel_switch_typedefs.html#bb2b4ce9c6a4ef4a773f026beee70e57">ListIterator</a>;<a name="l00059"></a>00059 };<a name="l00060"></a>00060 <a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="class_channel_switch.html" title="Route input to different and/or multiple channels based on channel ID.">ChannelSwitch</a>;<a name="l00062"></a>00062 <a name="l00063"></a><a class="code" href="class_channel_route_iterator.html">00063</a> <span class="keyword">class </span><a class="code" href="class_channel_route_iterator.html">ChannelRouteIterator</a> : <span class="keyword">public</span> <a class="code" href="class_channel_switch_typedefs.html">ChannelSwitchTypedefs</a><a name="l00064"></a>00064 {<a name="l00065"></a>00065 <span class="keyword">public</span>:<a name="l00066"></a><a class="code" href="class_channel_route_iterator.html#82070a7b3f4a83f552313bce17157e8e">00066</a>         <a class="code" href="class_channel_switch.html" title="Route input to different and/or multiple channels based on channel ID.">ChannelSwitch</a>&amp; <a class="code" href="class_channel_route_iterator.html#82070a7b3f4a83f552313bce17157e8e">m_cs</a>;<a name="l00067"></a><a class="code" href="class_channel_route_iterator.html#c20002a033d7ad5915b0761aa3458117">00067</a>         std::string <a class="code" href="class_channel_route_iterator.html#c20002a033d7ad5915b0761aa3458117">m_channel</a>;<a name="l00068"></a><a class="code" href="class_channel_route_iterator.html#c7d6fde8284bcaa8d684bae3c079f57c">00068</a>         <span class="keywordtype">bool</span> <a class="code" href="class_channel_route_iterator.html#c7d6fde8284bcaa8d684bae3c079f57c">m_useDefault</a>;<a name="l00069"></a><a class="code" href="class_channel_route_iterator.html#ecaa9bae6db03a9b39088cc0e7394d8c">00069</a>         <a class="code" href="class_channel_switch_typedefs.html#5928e683ccad25bc9c340208326db91e">MapIterator</a> <a class="code" href="class_channel_route_iterator.html#643eecd7fa8742e83a962176aacd96cb">m_itMapCurrent</a>, <a class="code" href="class_channel_route_iterator.html#ecaa9bae6db03a9b39088cc0e7394d8c">m_itMapEnd</a>;<a name="l00070"></a><a class="code" href="class_channel_route_iterator.html#26e6feec14621814bb0047cbc946f0a7">00070</a>         <a class="code" href="class_channel_switch_typedefs.html#bb2b4ce9c6a4ef4a773f026beee70e57">ListIterator</a> <a class="code" href="class_channel_route_iterator.html#534b382fe373be38f7800d1d92946592">m_itListCurrent</a>, <a class="code" href="class_channel_route_iterator.html#26e6feec14621814bb0047cbc946f0a7">m_itListEnd</a>;<a name="l00071"></a>00071 <a name="l00072"></a><a class="code" href="class_channel_route_iterator.html#4004b98eb901673b791c2efde5c5d2b0">00072</a>         <a class="code" href="class_channel_route_iterator.html#4004b98eb901673b791c2efde5c5d2b0">ChannelRouteIterator</a>(<a class="code" href="class_channel_switch.html" title="Route input to different and/or multiple channels based on channel ID.">ChannelSwitch</a> &amp;cs) : <a class="code" href="class_channel_route_iterator.html#82070a7b3f4a83f552313bce17157e8e">m_cs</a>(cs) {}<a name="l00073"></a>00073         <span class="keywordtype">void</span> <a class="code" href="class_channel_route_iterator.html#862708d9e96fb0d6f884fb7e022a5b5a">Reset</a>(<span class="keyword">const</span> std::string &amp;channel);<a name="l00074"></a>00074         <span class="keywordtype">bool</span> <a class="code" href="class_channel_route_iterator.html#14f8502d1e6f319381d411091ec02365">End</a>() <span class="keyword">const</span>;<a name="l00075"></a>00075         <span class="keywordtype">void</span> <a class="code" href="class_channel_route_iterator.html#76ebd766280e96f582072e7a2fea3bec">Next</a>();<a name="l00076"></a>00076         <a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp; <a class="code" href="class_channel_route_iterator.html#c52ae006ff11d2423aca39b261ca6d67">Destination</a>();<a name="l00077"></a>00077         <span class="keyword">const</span> std::string &amp; <a class="code" href="class_channel_route_iterator.html#bb4fc50d81f6658df516bfb714103368">Channel</a>();<a name="l00078"></a>00078 };<a name="l00079"></a>00079 <span class="comment"></span><a name="l00080"></a>00080 <span class="comment">//! Route input to different and/or multiple channels based on channel ID</span><a name="l00081"></a><a class="code" href="class_channel_switch.html">00081</a> <span class="comment"></span><span class="keyword">class </span>CRYPTOPP_DLL ChannelSwitch : <span class="keyword">public</span> <a class="code" href="class_multichannel.html" title="_">Multichannel</a>&lt;Sink&gt;, <span class="keyword">public</span> <a class="code" href="class_channel_switch_typedefs.html">ChannelSwitchTypedefs</a><a name="l00082"></a>00082 {<a name="l00083"></a>00083 <span class="keyword">public</span>:<a name="l00084"></a><a class="code" href="class_channel_switch.html#435d70b62445b366affd400d139dc95c">00084</a>         ChannelSwitch() : m_it(*this), m_blocked(false) {}<a name="l00085"></a><a class="code" href="class_channel_switch.html#7b640d47d31ee18503048080e864d49c">00085</a>         ChannelSwitch(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination) : m_it(*this), m_blocked(false)<a name="l00086"></a>00086         {<a name="l00087"></a>00087                 AddDefaultRoute(destination);<a name="l00088"></a>00088         }<a name="l00089"></a><a class="code" href="class_channel_switch.html#cc476e98db7dd18a2ce74f407affeda0">00089</a>         ChannelSwitch(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination, <span class="keyword">const</span> std::string &amp;outChannel) : m_it(*this), m_blocked(false)<a name="l00090"></a>00090         {<a name="l00091"></a>00091                 AddDefaultRoute(destination, outChannel);<a name="l00092"></a>00092         }<a name="l00093"></a>00093 <a name="l00094"></a>00094         <span class="keywordtype">void</span> IsolatedInitialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> &amp;parameters=g_nullNameValuePairs);<a name="l00095"></a>00095 <a name="l00096"></a>00096         <span class="keywordtype">size_t</span> ChannelPut2(<span class="keyword">const</span> std::string &amp;channel, <span class="keyword">const</span> byte *begin, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking);<a name="l00097"></a>00097         <span class="keywordtype">size_t</span> <a class="code" href="class_multichannel.html#35049ced3a11aeb890f3f899d11e6daa">ChannelPutModifiable2</a>(<span class="keyword">const</span> std::string &amp;channel, byte *begin, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking);<a name="l00098"></a>00098 <a name="l00099"></a>00099         <span class="keywordtype">bool</span> ChannelFlush(<span class="keyword">const</span> std::string &amp;channel, <span class="keywordtype">bool</span> completeFlush, <span class="keywordtype">int</span> propagation=-1, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>);<a name="l00100"></a>00100         <span class="keywordtype">bool</span> ChannelMessageSeriesEnd(<span class="keyword">const</span> std::string &amp;channel, <span class="keywordtype">int</span> propagation=-1, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>);<a name="l00101"></a>00101 <a name="l00102"></a>00102         byte * <a class="code" href="class_multichannel.html#ffb7c3b2dd7a2e35159e71baa9d05b62">ChannelCreatePutSpace</a>(<span class="keyword">const</span> std::string &amp;channel, <span class="keywordtype">size_t</span> &amp;size);<a name="l00103"></a>00103         <a name="l00104"></a>00104         <span class="keywordtype">void</span> AddDefaultRoute(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination);<a name="l00105"></a>00105         <span class="keywordtype">void</span> RemoveDefaultRoute(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination);<a name="l00106"></a>00106         <span class="keywordtype">void</span> AddDefaultRoute(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination, <span class="keyword">const</span> std::string &amp;outChannel);<a name="l00107"></a>00107         <span class="keywordtype">void</span> RemoveDefaultRoute(<a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination, <span class="keyword">const</span> std::string &amp;outChannel);<a name="l00108"></a>00108         <span class="keywordtype">void</span> AddRoute(<span class="keyword">const</span> std::string &amp;inChannel, <a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination, <span class="keyword">const</span> std::string &amp;outChannel);<a name="l00109"></a>00109         <span class="keywordtype">void</span> RemoveRoute(<span class="keyword">const</span> std::string &amp;inChannel, <a class="code" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> &amp;destination, <span class="keyword">const</span> std::string &amp;outChannel);<a name="l00110"></a>00110 <a name="l00111"></a>00111 <span class="keyword">private</span>:<a name="l00112"></a>00112         RouteMap m_routeMap;<a name="l00113"></a>00113         DefaultRouteList m_defaultRoutes;<a name="l00114"></a>00114 <a name="l00115"></a>00115         <a class="code" href="class_channel_route_iterator.html">ChannelRouteIterator</a> m_it;<a name="l00116"></a>00116         <span class="keywordtype">bool</span> m_blocked;<a name="l00117"></a>00117 <a name="l00118"></a><a class="code" href="class_channel_switch.html#682648bed9bc0f0f61b687ccfdebbdf7">00118</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_channel_route_iterator.html">ChannelRouteIterator</a>;<a name="l00119"></a>00119 };<a name="l00120"></a>00120 <a name="l00121"></a>00121 NAMESPACE_END<a name="l00122"></a>00122 <a name="l00123"></a>00123 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 1 11:11:20 2007 for Crypto++ by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -