Imploder functions

Classes

struct  nil::crypto3::detail::imploder< InputEndianness, OutputEndianness, InputBits, OutputBits, k >
 imploder processes a sequence of input values represented in InputEndianness endianness into an output value represented in OutputEndianness endianness. The function implode is invoked recursively, and the parameter k is used to track the number of already processed input values packed into the output value. The recursion ends when all elements the output value can hold have already been processed, i.e. when k == OutputBits. More...
 
struct  nil::crypto3::detail::imploder_shift< OutputEndianness, UnitBits, InputBits, OutputBits, k, IsLittleUnit >
 imploder_shift trait is used to determine whether the input elements are packed into an output element in reverse order. Since the input and output types are integral now, this trait contains the shift indicating the position of input element in the output element when k input bits have already been processed. More...
 
struct  nil::crypto3::detail::imploder_step< InputEndianness, OutputEndianness, UnitBits, InputBits, OutputBits, k >
 imploder_step packs an input value represented in InputEndianness endianness into an output value represented in OutputEndianness endianness when k input bits have already been processed. It uses unit_reverser and bit_reverser to deal with the order of units and bits in the input value, respectively. Shift constant is determined by the imploder_shift trait. More...
 

Detailed Description