Skip to content

sgns::scale::detail

Namespaces

Name
sgns::scale::detail::tuple_impl
sgns::scale::detail::variant_impl

Functions

Name
template <class T ,class S ,typename I =std::decay_t,typename =std::enable_if_t>>
void
encodeInteger(T value, S & out)
template <class T ,class S ,typename I =std::decay_t,typename =std::enable_if_t>>
I
decodeInteger(S & stream)
decodeInteger function decodes integer from stream
template <class Stream ,class... T>
Stream &
encodeTuple(const std::tuple< T... > & v, Stream & s)
encodes std::tuple value
template <class Stream ,class... T>
Stream &
decodeTuple(Stream & stream, std::tuple< T... > & result)
decodes std::tuple value
template <class Stream ,class... T>
Stream &
encodeVariant(const boost::variant< T... > & v, Stream & s)
encodes boost::variant value
template <class Stream ,class... T>
Stream &
decodeVariant(Stream & stream, boost::variant< T... > & result)
decodes variant value

Functions Documentation

function encodeInteger

template <class T ,
class S ,
typename I  =std::decay_t<T>,
typename  =std::enable_if_t<std::is_integral_v<I>>>
void encodeInteger(
    T value,
    S & out
)

Parameters:

  • value integer value
  • out output stream

Template Parameters:

  • T integer type
  • S output stream type

encodeInteger encodes any integer type to little-endian representation

function decodeInteger

template <class T ,
class S ,
typename I  =std::decay_t<T>,
typename  =std::enable_if_t<std::is_integral_v<I>>>
I decodeInteger(
    S & stream
)

decodeInteger function decodes integer from stream

Parameters:

  • stream source stream

Template Parameters:

  • T integer type

Return: decoded value or error

function encodeTuple

template <class Stream ,
class... T>
Stream & encodeTuple(
    const std::tuple< T... > & v,
    Stream & s
)

encodes std::tuple value

Parameters:

  • v tuple value
  • s encoder stream

Template Parameters:

  • Stream output stream type
  • T... sequence of types of the tuple

function decodeTuple

template <class Stream ,
class... T>
Stream & decodeTuple(
    Stream & stream,
    std::tuple< T... > & result
)

decodes std::tuple value

Parameters:

  • stream source stream
  • result destination tuple

Template Parameters:

  • Stream input stream type
  • T... sequence of types of the tuple

Return: decoded value or error

function encodeVariant

template <class Stream ,
class... T>
Stream & encodeVariant(
    const boost::variant< T... > & v,
    Stream & s
)

encodes boost::variant value

Parameters:

  • v variant value
  • s encoder stream

Template Parameters:

  • Stream output stream type
  • T... sequence of types

function decodeVariant

template <class Stream ,
class... T>
Stream & decodeVariant(
    Stream & stream,
    boost::variant< T... > & result
)

decodes variant value

Parameters:

  • stream source stream
  • result destination variant

Template Parameters:

  • Stream input stream type
  • T... sequence of types

Return: decoded value or error


Updated on 2026-03-04 at 13:10:44 -0800