Zeth - Zerocash on Ethereum
0.8
Reference implementation of the Zeth protocol by Clearmatics
|
Go to the documentation of this file.
5 #ifndef __ZETH_CORE_HASH_STREAM_HPP__
6 #define __ZETH_CORE_HASH_STREAM_HPP__
39 virtual std::streamsize
xsputn(
const char *s, std::streamsize n)
override;
52 virtual std::streamsize
xsputn(
const char *s, std::streamsize n)
override;
53 virtual std::streamsize
xsgetn(
char *s, std::streamsize n)
override;
64 template<
typename HashT>
class hash_ostream :
public std::ostream
68 void get_hash(
typename HashT::OutBuffer out_hash);
75 template<
typename HashT>
class hash_ostream_wrapper :
public std::ostream
79 void get_hash(
typename HashT::OutBuffer out_hash);
82 hash_streambuf_wrapper<HashT> hsb;
86 template<
typename HashT>
class hash_istream_wrapper :
public std::istream
90 void get_hash(
typename HashT::OutBuffer out_hash);
93 hash_streambuf_wrapper<HashT> hsb;
100 #endif // __ZETH_CORE_HASH_STREAM_HPP__
virtual std::streamsize xsputn(const char *s, std::streamsize n) override
virtual std::streamsize xsgetn(char *s, std::streamsize n) override
hash_istream_wrapper(std::istream &inner_stream)
Wrap some ostream, hashing data as it is written.
hash_ostream_wrapper(std::ostream &inner_stream)
Internal streambuf for hash_ostream. Hash and discard all written data.
virtual std::streamsize xsputn(const char *s, std::streamsize n) override
void get_hash(typename HashT::OutBuffer out_hash)
void get_hash(typename HashT::OutBuffer out_hash)
void get_hash(typename HashT::OutBuffer out_hash)
Simple ostream which hashes any incoming data and discards it.
Wrap some istream, hashing all data as it is read.
Internal streambuf for wrapped streams. Hash data and forward.
hash_streambuf_wrapper(std::ostream *inner)