Algorithms are meant to provide hashing interface similar to STL algorithms' one. More...

Functions

template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash (InputIterator first, InputIterator last, OutputIterator out, StreamHash &sh)
 
template<typename Hasher , typename InputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl< Hasher, detail::value_hash_impl< StreamHash > > nil::crypto3::hash::hash (InputIterator first, InputIterator last)
 
template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Hasher, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::kdf::hash (InputIterator first, InputIterator last, OutputIterator out, StreamHash sh=StreamHash())
 
template<typename Compressor , typename InputIterator , typename OutputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Compressor, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::compression::hash (InputIterator first, InputIterator last, OutputIterator out, StreamHash sh=StreamHash())
 
template<typename Hasher , typename InputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl< Hasher, detail::ref_hash_impl< StreamHash > > nil::crypto3::hash::hash (InputIterator first, InputIterator last, StreamHash &sh)
 
template<typename Hasher , typename InputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Hasher, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash< Hasher, InputIterator > nil::crypto3::kdf::hash (InputIterator first, InputIterator last, StreamHash sh=StreamHash())
 
template<typename Compressor , typename InputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Compressor, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash< Compressor, InputIterator > nil::crypto3::compression::hash (InputIterator first, InputIterator last, StreamHash sh=StreamHash())
 
template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash (const SinglePassRange &rng, OutputIterator out)
 
template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = detail::range_stream_hash_traits<Hasher, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::kdf::hash (const SinglePassRange &rng, OutputIterator out, StreamHash sh=StreamHash())
 
template<typename Compressor , typename SinglePassRange , typename OutputIterator , typename StreamHash = detail::range_stream_hash_traits<Compressor, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::compression::hash (const SinglePassRange &rng, OutputIterator out, StreamHash sh=StreamHash())
 
template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash (const SinglePassRange &rng, OutputIterator out, StreamHash &sh)
 
template<typename Hasher , typename SinglePassRange , typename StreamHash = detail::range_stream_hash_traits<Hasher, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash< Hasher, SinglePassRange > nil::crypto3::kdf::hash (const SinglePassRange &rng, StreamHash sh=StreamHash())
 
template<typename Compressor , typename SinglePassRange , typename StreamHash = detail::range_stream_hash_traits<Compressor, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash< Compressor, SinglePassRange > nil::crypto3::compression::hash (const SinglePassRange &rng, StreamHash sh=StreamHash())
 
template<typename Hasher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl< Hasher, detail::value_hash_impl< StreamHash > > nil::crypto3::hash::hash (const SinglePassRange &r)
 
template<typename Hasher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl< Hasher, detail::ref_hash_impl< StreamHash > > nil::crypto3::hash::hash (const SinglePassRange &rng, StreamHash &sh)
 

Detailed Description

Algorithms are meant to provide hashing interface similar to STL algorithms' one.

Function Documentation

◆ hash() [1/16]

template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
Template Parameters
Hasher
InputIterator
OutputIterator
StreamHash
Parameters
first
last
out
Returns

◆ hash() [2/16]

template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
StreamHash &  sh 
)
Template Parameters
Hasher
InputIterator
OutputIterator
StreamHash
Parameters
first
last
out
sh
Returns

◆ hash() [3/16]

template<typename Hasher , typename InputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl<Hasher, detail::value_hash_impl<StreamHash> > nil::crypto3::hash::hash ( InputIterator  first,
InputIterator  last 
)
Template Parameters
Hasher
InputIterator
StreamHash
Parameters
first
last
Returns

◆ hash() [4/16]

template<typename Hasher , typename InputIterator , typename OutputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Hasher, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::kdf::hash ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
StreamHash  sh = StreamHash() 
)
Template Parameters
Hasher
InputIterator
OutputIterator
StreamHash
Parameters
first
last
out
sh
Returns

◆ hash() [5/16]

template<typename Compressor , typename InputIterator , typename OutputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Compressor, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::compression::hash ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
StreamHash  sh = StreamHash() 
)
Template Parameters
Compressor
InputIterator
OutputIterator
StreamHash
Parameters
first
last
out
sh
Returns

◆ hash() [6/16]

template<typename Hasher , typename InputIterator , typename StreamHash = typename detail::itr_stream_hash_traits<Hasher, InputIterator>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl<Hasher, detail::ref_hash_impl<StreamHash> > nil::crypto3::hash::hash ( InputIterator  first,
InputIterator  last,
StreamHash &  sh 
)
Template Parameters
Hasher
InputIterator
StreamHash
Parameters
first
last
sh
Returns

◆ hash() [7/16]

template<typename Hasher , typename InputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Hasher, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash<Hasher, InputIterator> nil::crypto3::kdf::hash ( InputIterator  first,
InputIterator  last,
StreamHash  sh = StreamHash() 
)
Template Parameters
Hasher
InputIterator
StreamHash
Parameters
first
last
sh
Returns

◆ hash() [8/16]

template<typename Compressor , typename InputIterator , typename StreamHash = detail::iterator_stream_hash_traits<Compressor, InputIterator>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash<Compressor, InputIterator> nil::crypto3::compression::hash ( InputIterator  first,
InputIterator  last,
StreamHash  sh = StreamHash() 
)
Template Parameters
Compressor
InputIterator
StreamHash
Parameters
first
last
sh
Returns

◆ hash() [9/16]

template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash ( const SinglePassRange &  rng,
OutputIterator  out 
)
Template Parameters
Hasher
SinglePassRange
OutputIterator
StreamHash
Parameters
rng
out
Returns

◆ hash() [10/16]

template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = detail::range_stream_hash_traits<Hasher, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::kdf::hash ( const SinglePassRange &  rng,
OutputIterator  out,
StreamHash  sh = StreamHash() 
)
Template Parameters
Hasher
SinglePassRange
OutputIterator
StreamHash
Parameters
rng
out
sh
Returns

◆ hash() [11/16]

template<typename Compressor , typename SinglePassRange , typename OutputIterator , typename StreamHash = detail::range_stream_hash_traits<Compressor, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::compression::hash ( const SinglePassRange &  rng,
OutputIterator  out,
StreamHash  sh = StreamHash() 
)
Template Parameters
Compressor
SinglePassRange
OutputIterator
StreamHash
Parameters
rng
out
sh
Returns

◆ hash() [12/16]

template<typename Hasher , typename SinglePassRange , typename OutputIterator , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
OutputIterator nil::crypto3::hash::hash ( const SinglePassRange &  rng,
OutputIterator  out,
StreamHash &  sh 
)
Template Parameters
Hasher
SinglePassRange
OutputIterator
StreamHash
Parameters
rng
out
sh
Returns

◆ hash() [13/16]

template<typename Hasher , typename SinglePassRange , typename StreamHash = detail::range_stream_hash_traits<Hasher, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash<Hasher, SinglePassRange> nil::crypto3::kdf::hash ( const SinglePassRange &  rng,
StreamHash  sh = StreamHash() 
)
Template Parameters
Hasher
SinglePassRange
StreamHash
Parameters
rng
sh
Returns

◆ hash() [14/16]

template<typename Compressor , typename SinglePassRange , typename StreamHash = detail::range_stream_hash_traits<Compressor, SinglePassRange>, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::hash<Compressor, SinglePassRange> nil::crypto3::compression::hash ( const SinglePassRange &  rng,
StreamHash  sh = StreamHash() 
)
Template Parameters
Compressor
SinglePassRange
StreamHash
Parameters
rng
sh
Returns

◆ hash() [15/16]

template<typename Hasher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl<Hasher, detail::value_hash_impl<StreamHash> > nil::crypto3::hash::hash ( const SinglePassRange &  r)
Template Parameters
Hasher
SinglePassRange
StreamHash
Parameters
r
Returns

◆ hash() [16/16]

template<typename Hasher , typename SinglePassRange , typename StreamHash = typename detail::range_stream_hash_traits<Hasher, SinglePassRange>::type, typename = typename std::enable_if<detail::is_stream_hash<StreamHash>::value>::type>
detail::range_hash_impl<Hasher, detail::ref_hash_impl<StreamHash> > nil::crypto3::hash::hash ( const SinglePassRange &  rng,
StreamHash &  sh 
)
Template Parameters
Hasher
SinglePassRange
StreamHash
Parameters
rng
sh
Returns