block/include/nil/crypto3/detail/imploder.hpp File Reference
#include <nil/crypto3/detail/stream_endian.hpp>
#include <nil/crypto3/detail/unbounded_shift.hpp>
#include <nil/crypto3/detail/reverser.hpp>
#include <boost/static_assert.hpp>
+ Include dependency graph for block/include/nil/crypto3/detail/imploder.hpp:

Go to the source code of this file.

Classes

struct  nil::crypto3::detail::imploder< InputEndian< UnitBits >, OutputEndian< UnitBits >, InputBits, OutputBits, k >
 
struct  nil::crypto3::detail::imploder< InputEndian< UnitBits >, OutputEndian< UnitBits >, InputBits, OutputBits, OutputBits >
 
struct  nil::crypto3::detail::imploder_shift< OutputEndianness, UnitBits, InputBits, OutputBits, k, false >
 
struct  nil::crypto3::detail::imploder_shift< OutputEndianness, UnitBits, InputBits, OutputBits, k, true >
 
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...
 

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::detail