block/include/nil/crypto3/detail/exploder.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/integer.hpp>
#include <boost/static_assert.hpp>
#include <iterator>
+ Include dependency graph for block/include/nil/crypto3/detail/exploder.hpp:

Go to the source code of this file.

Classes

struct  nil::crypto3::detail::exploder< InputEndian< UnitBits >, OutputEndian< UnitBits >, InputBits, OutputBits, InputBits >
 
struct  nil::crypto3::detail::exploder< InputEndian< UnitBits >, OutputEndian< UnitBits >, InputBits, OutputBits, k >
 
struct  nil::crypto3::detail::exploder_shift< InputEndianness, UnitBits, InputBits, OutputBits, k, false >
 
struct  nil::crypto3::detail::exploder_shift< InputEndianness, UnitBits, InputBits, OutputBits, k, true >
 
struct  nil::crypto3::detail::exploder_step< InputEndianness, OutputEndianness, UnitBits, InputBits, OutputBits, k >
 exploder_step obtains an output value represented in OutputEndianness endianness from an input value represented in InputEndianness endianness when k output bits have already been processed. It uses unit_reverser and bit_reverser to deal with the order of units and bits in the output value, respectively. Shift constant is determined by the exploder_shift trait. More...
 
struct  nil::crypto3::detail::outvalue_helper< OutIter, OutBits, T >
 outvalue_helper trait is used to determine the output value type. If OutBits is not an exact power of two for which the type uint_t is defined, the type with the least power of two bits greater than OutBits is taken. Due to current exploder struct definition, this case is possible, when OutputBits is a factor of UnitBits less than UnitBits, and UnitBits is no more than CHAR_BIT. More...
 
struct  nil::crypto3::detail::outvalue_helper< OutIter, OutBits, void >
 

Namespaces

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