Hex codec. Meets the requirements of Codec. More...

#include <hex.hpp>

+ Collaboration diagram for nil::crypto3::codec::hex< Mode >:

Classes

struct  stream_processor
 

Public Types

template<typename ProcessingMode >
using accumulator_mode_type = accumulators::preprocessing_accumulator_mode< ProcessingMode >
 
typedef policy_type::decoded_block_type decoded_block_type
 
typedef policy_type::decoded_value_type decoded_value_type
 
typedef nop_finalizer decoding_finalizer_type
 
typedef nop_preprocessor decoding_preprocessor_type
 
typedef policy_type::encoded_block_type encoded_block_type
 
typedef policy_type::encoded_value_type encoded_value_type
 
typedef nop_finalizer encoding_finalizer_type
 
typedef nop_preprocessor encoding_preprocessor_type
 
typedef policy_type::mode_type mode_type
 
typedef detail::isomorphic_decoding_mode< hex< Mode > > stream_decoder_type
 
typedef detail::isomorphic_encoding_mode< hex< Mode > > stream_encoder_type
 

Static Public Member Functions

static decoded_block_type decode (const encoded_block_type &plaintext)
 Decodes single atomic data block. More...
 
static encoded_block_type encode (const decoded_block_type &plaintext)
 Encodes single atomic data block. More...
 

Static Public Attributes

constexpr static const std::size_t decoded_block_bits = policy_type::decoded_block_bits
 
constexpr static const std::size_t decoded_block_values = policy_type::decoded_block_values
 
constexpr static const std::size_t decoded_value_bits = policy_type::decoded_value_bits
 
constexpr static const std::size_t encoded_block_bits = policy_type::encoded_block_bits
 
constexpr static const std::size_t encoded_block_values = policy_type::encoded_block_values
 
constexpr static const std::size_t encoded_value_bits = policy_type::encoded_value_bits
 

Static Protected Member Functions

template<typename T >
static uint8_t hex_char_to_int (T val)
 

Detailed Description

template<typename Mode = mode::upper>
class nil::crypto3::codec::hex< Mode >

Hex codec. Meets the requirements of Codec.

Template Parameters
ModeHex encoder mode selector. Defines which case to use - upper or lower

Member Typedef Documentation

◆ accumulator_mode_type

template<typename Mode = mode::upper>
template<typename ProcessingMode >
using nil::crypto3::codec::hex< Mode >::accumulator_mode_type = accumulators::preprocessing_accumulator_mode<ProcessingMode>

◆ decoded_block_type

template<typename Mode = mode::upper>
typedef policy_type::decoded_block_type nil::crypto3::codec::hex< Mode >::decoded_block_type

◆ decoded_value_type

template<typename Mode = mode::upper>
typedef policy_type::decoded_value_type nil::crypto3::codec::hex< Mode >::decoded_value_type

◆ decoding_finalizer_type

template<typename Mode = mode::upper>
typedef nop_finalizer nil::crypto3::codec::hex< Mode >::decoding_finalizer_type

◆ decoding_preprocessor_type

template<typename Mode = mode::upper>
typedef nop_preprocessor nil::crypto3::codec::hex< Mode >::decoding_preprocessor_type

◆ encoded_block_type

template<typename Mode = mode::upper>
typedef policy_type::encoded_block_type nil::crypto3::codec::hex< Mode >::encoded_block_type

◆ encoded_value_type

template<typename Mode = mode::upper>
typedef policy_type::encoded_value_type nil::crypto3::codec::hex< Mode >::encoded_value_type

◆ encoding_finalizer_type

template<typename Mode = mode::upper>
typedef nop_finalizer nil::crypto3::codec::hex< Mode >::encoding_finalizer_type

◆ encoding_preprocessor_type

template<typename Mode = mode::upper>
typedef nop_preprocessor nil::crypto3::codec::hex< Mode >::encoding_preprocessor_type

◆ mode_type

template<typename Mode = mode::upper>
typedef policy_type::mode_type nil::crypto3::codec::hex< Mode >::mode_type

◆ stream_decoder_type

template<typename Mode = mode::upper>
typedef detail::isomorphic_decoding_mode<hex<Mode> > nil::crypto3::codec::hex< Mode >::stream_decoder_type

◆ stream_encoder_type

template<typename Mode = mode::upper>
typedef detail::isomorphic_encoding_mode<hex<Mode> > nil::crypto3::codec::hex< Mode >::stream_encoder_type

Member Function Documentation

◆ decode()

template<typename Mode = mode::upper>
static decoded_block_type nil::crypto3::codec::hex< Mode >::decode ( const encoded_block_type plaintext)
inlinestatic

Decodes single atomic data block.

Parameters
plaintextInput plaintext.
Returns
decoded atomic data block.

◆ encode()

template<typename Mode = mode::upper>
static encoded_block_type nil::crypto3::codec::hex< Mode >::encode ( const decoded_block_type plaintext)
inlinestatic

Encodes single atomic data block.

Parameters
plaintextInput plaintext.
Returns
encoded atomic data block.

◆ hex_char_to_int()

template<typename Mode = mode::upper>
template<typename T >
static uint8_t nil::crypto3::codec::hex< Mode >::hex_char_to_int ( val)
inlinestaticprotected

Member Data Documentation

◆ decoded_block_bits

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::decoded_block_bits = policy_type::decoded_block_bits
staticconstexpr

◆ decoded_block_values

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::decoded_block_values = policy_type::decoded_block_values
staticconstexpr

◆ decoded_value_bits

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::decoded_value_bits = policy_type::decoded_value_bits
staticconstexpr

◆ encoded_block_bits

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::encoded_block_bits = policy_type::encoded_block_bits
staticconstexpr

◆ encoded_block_values

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::encoded_block_values = policy_type::encoded_block_values
staticconstexpr

◆ encoded_value_bits

template<typename Mode = mode::upper>
constexpr static const std::size_t nil::crypto3::codec::hex< Mode >::encoded_value_bits = policy_type::encoded_value_bits
staticconstexpr

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