nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType > Struct Template Reference

This packer deals with arbitrary input and output (but not bool) data elements. More...

#include <pack.hpp>

+ Inheritance diagram for nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >:
+ Collaboration diagram for nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >:

Static Public Member Functions

template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack (InputIterator first, InputIterator last, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InputIterator , typename OutputIterator >
static void pack_n (InputIterator in, std::size_t n, OutputIterator out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT *in, size_t n, OutT *out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT *in, size_t n, OutT *out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT *in, size_t n, OutT *out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT const *in, size_t n, OutT *out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT const *in, size_t n, OutT *out)
 
template<typename InT , typename OutT >
static std::enable_if< can_memcpy< Endianness, InputBits, OutputBits, InT, OutT >::value >::type pack_n (InT const *in, size_t n, OutT *out)
 

Detailed Description

template<typename InputEndianness, typename OutputEndianness, std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType, typename OutputType>
struct nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >

This packer deals with arbitrary input and output (but not bool) data elements.

Template Parameters
InputEndianness
OutputEndianness
InputValueBits
OutputValueBits
InputType
OutputType

Member Function Documentation

◆ pack() [1/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [2/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [3/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [4/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [5/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [6/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [7/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack() [8/8]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack ( InputIterator  first,
InputIterator  last,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [1/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [2/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [3/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [4/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [5/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [6/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [7/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [8/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InputIterator , typename OutputIterator >
static void nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InputIterator  in,
std::size_t  n,
OutputIterator  out 
)
inlinestatic

◆ pack_n() [9/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT *  in,
size_t  n,
OutT *  out 
)
inlinestatic

◆ pack_n() [10/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT *  in,
size_t  n,
OutT *  out 
)
inlinestatic

◆ pack_n() [11/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT *  in,
size_t  n,
OutT *  out 
)
inlinestatic

◆ pack_n() [12/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT const *  in,
size_t  n,
OutT *  out 
)
inlinestatic

◆ pack_n() [13/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT const *  in,
size_t  n,
OutT *  out 
)
inlinestatic

◆ pack_n() [14/14]

template<typename InputEndianness , typename OutputEndianness , std::size_t InputValueBits, std::size_t OutputValueBits, typename InputType , typename OutputType >
template<typename InT , typename OutT >
static std::enable_if<can_memcpy<Endianness, InputBits, OutputBits, InT, OutT>::value>::type nil::crypto3::detail::packer< InputEndianness, OutputEndianness, InputValueBits, OutputValueBits, InputType, OutputType >::pack_n ( InT const *  in,
size_t  n,
OutT *  out 
)
inlinestatic

The documentation for this struct was generated from the following file: