nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> > Class Template Reference

Base codec implements Base-family encoding. Meets the requirements of Codec. More...

#include <base.hpp>

+ Collaboration diagram for nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >:

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 base_decode_finalizer< Version > decoding_finalizer_type
 
typedef base_decode_preprocessor< Version > decoding_preprocessor_type
 
typedef policy_type::encoded_block_type encoded_block_type
 
typedef policy_type::encoded_value_type encoded_value_type
 
typedef base_encode_finalizer< Version > encoding_finalizer_type
 
typedef base_encode_preprocessor< Version > encoding_preprocessor_type
 
typedef detail::isomorphic_decoding_mode< base< Version > > stream_decoder_type
 
typedef detail::isomorphic_encoding_mode< base< Version > > stream_encoder_type
 

Static Public Member Functions

static decoded_block_type decode (const encoded_block_type &encoded)
 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
 

Detailed Description

template<std::size_t Version>
class nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >

Base codec implements Base-family encoding. Meets the requirements of Codec.

Template Parameters
VersionBase encoder version selector. Available values are: 32, 58, 64.
Note
This particular implementation is defined for base32 and base64

Member Typedef Documentation

◆ accumulator_mode_type

template<std::size_t Version>
template<typename ProcessingMode >
using nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::accumulator_mode_type = accumulators::preprocessing_accumulator_mode<ProcessingMode>

◆ decoded_block_type

template<std::size_t Version>
typedef policy_type::decoded_block_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoded_block_type

◆ decoded_value_type

template<std::size_t Version>
typedef policy_type::decoded_value_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoded_value_type

◆ decoding_finalizer_type

template<std::size_t Version>
typedef base_decode_finalizer<Version> nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoding_finalizer_type

◆ decoding_preprocessor_type

template<std::size_t Version>
typedef base_decode_preprocessor<Version> nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoding_preprocessor_type

◆ encoded_block_type

template<std::size_t Version>
typedef policy_type::encoded_block_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoded_block_type

◆ encoded_value_type

template<std::size_t Version>
typedef policy_type::encoded_value_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoded_value_type

◆ encoding_finalizer_type

template<std::size_t Version>
typedef base_encode_finalizer<Version> nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoding_finalizer_type

◆ encoding_preprocessor_type

template<std::size_t Version>
typedef base_encode_preprocessor<Version> nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoding_preprocessor_type

◆ stream_decoder_type

template<std::size_t Version>
typedef detail::isomorphic_decoding_mode<base<Version> > nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::stream_decoder_type

◆ stream_encoder_type

template<std::size_t Version>
typedef detail::isomorphic_encoding_mode<base<Version> > nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::stream_encoder_type

Member Function Documentation

◆ decode()

template<std::size_t Version>
static decoded_block_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decode ( const encoded_block_type encoded)
inlinestatic

Decodes single atomic data block.

Parameters
plaintextInput plaintext.
Returns
decoded atomic data block.

◆ encode()

template<std::size_t Version>
static encoded_block_type nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encode ( const decoded_block_type plaintext)
inlinestatic

Encodes single atomic data block.

Parameters
plaintextInput plaintext.
Returns
encoded atomic data block.

Member Data Documentation

◆ decoded_block_bits

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoded_block_bits = policy_type::decoded_block_bits
staticconstexpr

◆ decoded_block_values

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoded_block_values = policy_type::decoded_block_values
staticconstexpr

◆ decoded_value_bits

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::decoded_value_bits = policy_type::decoded_value_bits
staticconstexpr

◆ encoded_block_bits

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoded_block_bits = policy_type::encoded_block_bits
staticconstexpr

◆ encoded_block_values

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoded_block_values = policy_type::encoded_block_values
staticconstexpr

◆ encoded_value_bits

template<std::size_t Version>
constexpr static const std::size_t nil::crypto3::codec::base< Version, detail::static_range<!(Version % 32)> >::encoded_value_bits = policy_type::encoded_value_bits
staticconstexpr

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