📄 class_file_sink.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Crypto++: FileSink Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul></div><h1>FileSink Class Reference</h1><!-- doxytag: class="FileSink" --><!-- doxytag: inherits="Sink,NotCopyable" --><code>#include <<a class="el" href="files_8h-source.html">files.h</a>></code><p><p>Inheritance diagram for FileSink:<p><center><img src="class_file_sink.png" usemap="#FileSink_map" border="0" alt=""></center><map name="FileSink_map"><area href="class_sink.html" alt="Sink" shape="rect" coords="77,168,222,192"><area href="class_not_copyable.html" alt="NotCopyable" shape="rect" coords="232,168,377,192"><area href="class_buffered_transformation.html" alt="BufferedTransformation" shape="rect" coords="77,112,222,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="0,56,145,80"><area href="class_waitable.html" alt="Waitable" shape="rect" coords="155,56,300,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="0,0,145,24"></map><a href="class_file_sink-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>file-based implementation of <a class="el" href="class_sink.html" title="A BufferedTransformation that doesn't produce any retrievable output.">Sink</a> interface <p><p>Definition at line <a class="el" href="files_8h-source.html#l00067">67</a> of file <a class="el" href="files_8h-source.html">files.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61891e8f8b1fd2b9cb01a0c8ef9b2ef3"></a><!-- doxytag: member="FileSink::FileSink" ref="61891e8f8b1fd2b9cb01a0c8ef9b2ef3" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#61891e8f8b1fd2b9cb01a0c8ef9b2ef3">FileSink</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7e571c08f2334948fc56249688cac24"></a><!-- doxytag: member="FileSink::FileSink" ref="e7e571c08f2334948fc56249688cac24" args="(std::ostream &out)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#e7e571c08f2334948fc56249688cac24">FileSink</a> (std::ostream &out)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf2703863fea64dbd82c2108245f8533"></a><!-- doxytag: member="FileSink::FileSink" ref="cf2703863fea64dbd82c2108245f8533" args="(const char *filename, bool binary=true)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#cf2703863fea64dbd82c2108245f8533">FileSink</a> (const char *filename, bool binary=true)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5c7c47d99b38ed04fb96c2e35e797e2"></a><!-- doxytag: member="FileSink::GetStream" ref="e5c7c47d99b38ed04fb96c2e35e797e2" args="()" -->std::ostream * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#e5c7c47d99b38ed04fb96c2e35e797e2">GetStream</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd89bb9890b60ce429ba590941099790"></a><!-- doxytag: member="FileSink::IsolatedInitialize" ref="dd89bb9890b60ce429ba590941099790" args="(const NameValuePairs &parameters)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#dd89bb9890b60ce429ba590941099790">IsolatedInitialize</a> (const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &parameters)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#7d9f9457b3a9d7db252e8ba75487020a">Put2</a> (const byte *inString, size_t length, int messageEnd, bool blocking)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input multiple bytes for blocking or non-blocking processing <a href="#7d9f9457b3a9d7db252e8ba75487020a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6485914da76e0374ad93d79da10030f"></a><!-- doxytag: member="FileSink::IsolatedFlush" ref="f6485914da76e0374ad93d79da10030f" args="(bool hardFlush, bool blocking)" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_file_sink.html#f6485914da76e0374ad93d79da10030f">IsolatedFlush</a> (bool hardFlush, bool blocking)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="115552b2e4d1d2e1a1ec75b06f0da0ae"></a><!-- doxytag: member="FileSink::TransferTo2" ref="115552b2e4d1d2e1a1ec75b06f0da0ae" args="(BufferedTransformation &target, lword &transferBytes, const std::string &channel=NULL_CHANNEL, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sink.html#115552b2e4d1d2e1a1ec75b06f0da0ae">TransferTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &target, lword &transferBytes, const std::string &channel=<a class="el" href="class_buffered_transformation.html#5e938c68f2a5e32a03440b1dc2bdc74a">NULL_CHANNEL</a>, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">upon return, byteCount contains number of bytes that have finished being transfered, and returns the number of bytes left in the current transfer block <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9c64305f16194ab17d8b438ced3b92d"></a><!-- doxytag: member="FileSink::CopyRangeTo2" ref="c9c64305f16194ab17d8b438ced3b92d" args="(BufferedTransformation &target, lword &begin, lword end=LWORD_MAX, const std::string &channel=NULL_CHANNEL, bool blocking=true) const " -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sink.html#c9c64305f16194ab17d8b438ced3b92d">CopyRangeTo2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &target, lword &begin, lword end=LWORD_MAX, const std::string &channel=<a class="el" href="class_buffered_transformation.html#5e938c68f2a5e32a03440b1dc2bdc74a">NULL_CHANNEL</a>, bool blocking=true) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">upon return, begin contains the start position of data yet to be finished copying, and returns the number of bytes left in the current transfer block <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#25686ebe4c3ba26e7eeaae1dcd4d4215">Ref</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return a reference to this object <a href="#25686ebe4c3ba26e7eeaae1dcd4d4215"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f31510a192d1121856efe8ad0a9b844"></a><!-- doxytag: member="FileSink::AlgorithmName" ref="4f31510a192d1121856efe8ad0a9b844" args="() const" -->virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html#4f31510a192d1121856efe8ad0a9b844">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0016ba2d505c23aa85aad49e6c19bb7"></a><!-- doxytag: member="FileSink::Clone" ref="d0016ba2d505c23aa85aad49e6c19bb7" args="() const" -->virtual <a class="el" href="class_clonable.html">Clonable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_clonable.html#d0016ba2d505c23aa85aad49e6c19bb7">Clone</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">this is not implemented by most classes yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html#ded81bbe562f61932306a64e6122a6ca">Wait</a> (unsigned long milliseconds, <a class="el" href="class_call_stack.html">CallStack</a> const &callStack)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">wait on this object <a href="#ded81bbe562f61932306a64e6122a6ca"></a><br></td></tr><tr><td colspan="2"><div class="groupHeader">INPUT</div></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e70658b0d271f8e114ac6c3cc9774ede"></a><!-- doxytag: member="FileSink::Put" ref="e70658b0d271f8e114ac6c3cc9774ede" args="(byte inByte, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#e70658b0d271f8e114ac6c3cc9774ede">Put</a> (byte inByte, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input a byte for processing <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44e935e60d3877975a7c82c6353d65c9"></a><!-- doxytag: member="FileSink::Put" ref="44e935e60d3877975a7c82c6353d65c9" args="(const byte *inString, size_t length, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#44e935e60d3877975a7c82c6353d65c9">Put</a> (const byte *inString, size_t length, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input multiple bytes <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92c60616792d7bce5cd41eaffbd1c3cc"></a><!-- doxytag: member="FileSink::PutWord16" ref="92c60616792d7bce5cd41eaffbd1c3cc" args="(word16 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#92c60616792d7bce5cd41eaffbd1c3cc">PutWord16</a> (word16 value, <a class="el" href="cryptlib_8h.html#aeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=BIG_ENDIAN_ORDER, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input a 16-bit word <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffcc574867d51528afe3c96721ded075"></a><!-- doxytag: member="FileSink::PutWord32" ref="ffcc574867d51528afe3c96721ded075" args="(word32 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ffcc574867d51528afe3c96721ded075">PutWord32</a> (word32 value, <a class="el" href="cryptlib_8h.html#aeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> order=BIG_ENDIAN_ORDER, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input a 32-bit word <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual byte * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#f390325c959c3d6a2c03a447d6cd469d">CreatePutSpace</a> (size_t &size)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">request space which can be written into by the caller, and then used as input to <a class="el" href="class_buffered_transformation.html#e70658b0d271f8e114ac6c3cc9774ede" title="input a byte for processing">Put()</a> <a href="#f390325c959c3d6a2c03a447d6cd469d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff5e36148728c1db63d9d3a6f5b49d7f"></a><!-- doxytag: member="FileSink::CanModifyInput" ref="ff5e36148728c1db63d9d3a6f5b49d7f" args="() const" -->virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#ff5e36148728c1db63d9d3a6f5b49d7f">CanModifyInput</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e15df84a7b67c25dfe2ce0ef5a74123c"></a><!-- doxytag: member="FileSink::PutModifiable" ref="e15df84a7b67c25dfe2ce0ef5a74123c" args="(byte *inString, size_t length, bool blocking=true)" -->size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#e15df84a7b67c25dfe2ce0ef5a74123c">PutModifiable</a> (byte *inString, size_t length, bool blocking=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">input multiple bytes that may be modified by callee <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20ae0ef2e4ff338b43849e541e9b940f"></a><!-- doxytag: member="FileSink::MessageEnd" ref="20ae0ef2e4ff338b43849e541e9b940f" args="(int propagation=-1, bool blocking=true)" -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html#20ae0ef2e4ff338b43849e541e9b940f">MessageEnd</a> (int propagation=-1, bool blocking=true)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10b7e626f5af900a4d12f6e5d125891"></a><!-- doxytag: member="FileSink::PutMessageEnd" ref="a10b7e626f5af900a4d12f6e5d125891" args="(const byte *inString, size_t length, int propagation=-1, bool blocking=true)" -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -