mac/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 mac/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 | |