nil::crypto3::detail::real_packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType, SameEndianness, Implode, Explode > Struct Template Reference
Real_packer is used to transform input data divided into chunks of the bit size InputValueBits represented in input endianness (InputEndianness) into output data (of the same bit length) divided into chunks of the bit size OutputValueBits represented in output endianness (OutputEndianness). More...
#include <pack.hpp>
Collaboration diagram for nil::crypto3::detail::real_packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType, SameEndianness, Implode, Explode >:
Detailed Description
template<typename InputEndianness, typename OutputEndianness, std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType, typename OutputType, bool SameEndianness = std::is_same<InputEndianness, OutputEndianness>::value, bool Implode = (InputValueBits < OutputValueBits), bool Explode = (InputValueBits > OutputValueBits)>
struct nil::crypto3::detail::real_packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType, SameEndianness, Implode, Explode >
Real_packer is used to transform input data divided into chunks of the bit size InputValueBits represented in input endianness (InputEndianness) into output data (of the same bit length) divided into chunks of the bit size OutputValueBits represented in output endianness (OutputEndianness).
The choice of packer depends on the following conditions:
- input and output chunk size relation (equal, less, or greater);
- input and output endianness relation (same or different);
- the possibility of fast data copy using memcpy.
- Template Parameters
-
InputEndianness OutputEndianness InputValueBits OutputValueBits InputType OutputType SameEndianness Implode Explode
The documentation for this struct was generated from the following file: