nil::crypto3::accumulators::impl::block_impl< Mode > Struct Template Reference

#include <block.hpp>

+ Inheritance diagram for nil::crypto3::accumulators::impl::block_impl< Mode >:
+ Collaboration diagram for nil::crypto3::accumulators::impl::block_impl< Mode >:

Public Types

typedef digest< block_bitsresult_type
 

Public Member Functions

template<typename Args >
 block_impl (const Args &args)
 
template<typename ArgumentPack >
void operator() (const ArgumentPack &args)
 
result_type result (boost::accumulators::dont_care) const
 

Protected Types

typedef mode_type::block_type block_type
 
typedef Mode::cipher_type cipher_type
 
typedef mode_type::endian_type endian_type
 
typedef ::nil::crypto3::detail::injector< endian_type, value_bits, block_values, block_bitsinjector_type
 
typedef Mode mode_type
 
typedef Mode::padding_type padding_type
 
typedef mode_type::word_type word_type
 

Protected Member Functions

void process (const block_type &value, std::size_t value_seen)
 
void process (const word_type &value, std::size_t value_seen)
 
void process_block ()
 
void resolve_type (const block_type &value, std::size_t bits)
 
void resolve_type (const word_type &value, std::size_t bits)
 

Protected Attributes

block_type cache
 
result_type dgst
 
bool filled
 
mode_type mode
 
std::size_t total_seen
 

Static Protected Attributes

constexpr static const std::size_t block_bits = mode_type::block_bits
 
constexpr static const std::size_t block_values = block_bits / value_bits
 
constexpr static const std::size_t block_words = mode_type::block_words
 
constexpr static const std::size_t value_bits = sizeof(typename block_type::value_type) * CHAR_BIT
 
constexpr static const std::size_t word_bits = mode_type::word_bits
 

Member Typedef Documentation

◆ block_type

template<typename Mode >
typedef mode_type::block_type nil::crypto3::accumulators::impl::block_impl< Mode >::block_type
protected

◆ cipher_type

template<typename Mode >
typedef Mode::cipher_type nil::crypto3::accumulators::impl::block_impl< Mode >::cipher_type
protected

◆ endian_type

template<typename Mode >
typedef mode_type::endian_type nil::crypto3::accumulators::impl::block_impl< Mode >::endian_type
protected

◆ injector_type

◆ mode_type

template<typename Mode >
typedef Mode nil::crypto3::accumulators::impl::block_impl< Mode >::mode_type
protected

◆ padding_type

template<typename Mode >
typedef Mode::padding_type nil::crypto3::accumulators::impl::block_impl< Mode >::padding_type
protected

◆ result_type

template<typename Mode >
typedef digest<block_bits> nil::crypto3::accumulators::impl::block_impl< Mode >::result_type

◆ word_type

template<typename Mode >
typedef mode_type::word_type nil::crypto3::accumulators::impl::block_impl< Mode >::word_type
protected

Constructor & Destructor Documentation

◆ block_impl()

template<typename Mode >
template<typename Args >
nil::crypto3::accumulators::impl::block_impl< Mode >::block_impl ( const Args &  args)
inline

Member Function Documentation

◆ operator()()

template<typename Mode >
template<typename ArgumentPack >
void nil::crypto3::accumulators::impl::block_impl< Mode >::operator() ( const ArgumentPack &  args)
inline

◆ process() [1/2]

template<typename Mode >
void nil::crypto3::accumulators::impl::block_impl< Mode >::process ( const block_type value,
std::size_t  value_seen 
)
inlineprotected

◆ process() [2/2]

template<typename Mode >
void nil::crypto3::accumulators::impl::block_impl< Mode >::process ( const word_type value,
std::size_t  value_seen 
)
inlineprotected

◆ process_block()

template<typename Mode >
void nil::crypto3::accumulators::impl::block_impl< Mode >::process_block ( )
inlineprotected

◆ resolve_type() [1/2]

template<typename Mode >
void nil::crypto3::accumulators::impl::block_impl< Mode >::resolve_type ( const block_type value,
std::size_t  bits 
)
inlineprotected

◆ resolve_type() [2/2]

template<typename Mode >
void nil::crypto3::accumulators::impl::block_impl< Mode >::resolve_type ( const word_type value,
std::size_t  bits 
)
inlineprotected

◆ result()

template<typename Mode >
result_type nil::crypto3::accumulators::impl::block_impl< Mode >::result ( boost::accumulators::dont_care  ) const
inline

Member Data Documentation

◆ block_bits

template<typename Mode >
constexpr static const std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::block_bits = mode_type::block_bits
staticconstexprprotected

◆ block_values

template<typename Mode >
constexpr static const std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::block_values = block_bits / value_bits
staticconstexprprotected

◆ block_words

template<typename Mode >
constexpr static const std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::block_words = mode_type::block_words
staticconstexprprotected

◆ cache

template<typename Mode >
block_type nil::crypto3::accumulators::impl::block_impl< Mode >::cache
protected

◆ dgst

template<typename Mode >
result_type nil::crypto3::accumulators::impl::block_impl< Mode >::dgst
protected

◆ filled

template<typename Mode >
bool nil::crypto3::accumulators::impl::block_impl< Mode >::filled
protected

◆ mode

template<typename Mode >
mode_type nil::crypto3::accumulators::impl::block_impl< Mode >::mode
protected

◆ total_seen

template<typename Mode >
std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::total_seen
protected

◆ value_bits

template<typename Mode >
constexpr static const std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::value_bits = sizeof(typename block_type::value_type) * CHAR_BIT
staticconstexprprotected

◆ word_bits

template<typename Mode >
constexpr static const std::size_t nil::crypto3::accumulators::impl::block_impl< Mode >::word_bits = mode_type::word_bits
staticconstexprprotected

The documentation for this struct was generated from the following file: