namespace
OCP1Namespace which implements the OCP.1 encoding used by AES70.
Classes
- struct Command
-
template<typename F, typename I>struct floating_point
-
template<typename T>struct integral
- struct KeepAlive
- struct Message
- struct Notification
- struct OcaBitstring
-
template<size_t N>struct OcaBitstringFixedLen
- struct OcaBlob
-
template<size_t N>struct OcaBlobFixedLen
-
template<typename ElementType>struct OcaList
-
template<typename ElementType>struct OcaList2D
-
template<typename ElementType, size_t N>struct OcaListFixedLen
-
template<typename Key, typename Value>struct OcaMap
- struct OcaString
- struct Response
-
template<typename... TN>struct Struct
-
template<typename... TN>struct tuple
Typedefs
- using ignore = std::decay<decltype(std::ignore)>::type
- using OcaUint8 = integral<uint8_t>
- using OcaUint16 = integral<uint16_t>
- using OcaUint32 = integral<uint32_t>
- using OcaUint64 = integral<uint64_t>
- using OcaInt8 = integral<int8_t>
- using OcaInt16 = integral<int16_t>
- using OcaInt32 = integral<int32_t>
- using OcaInt64 = integral<int64_t>
- using OcaBoolean = integral<uint8_t>
-
using OcaFloat32 = floating_
point<float, uint32_t> -
using OcaFloat64 = floating_
point<double, uint64_t> -
template<typename A, typename B>using pair = tuple<A, B>
-
template<typename Key, typename Value>using OcaMultiMap = OcaList<pair<Key, Value>>
Functions
-
template<typename T>auto encoded_length(const T& x) -> AES70_ALWAYS_INLINE std::size_t
-
template<typename T>auto encode_to(uint8_t* dst, const T& x) -> AES70_ALWAYS_INLINE uint8_t*
-
template<typename T>auto decode_from(const uint8_t* src, T& x) -> const AES70_ALWAYS_INLINE uint8_t*
-
template<typename T>auto decode_length(const uint8_t* src, const uint8_t* end, const T&) -> const AES70_ALWAYS_INLINE uint8_t*
Typedef documentation
typedef std::decay<decltype(std::ignore)>::typeaes70:: OCP1:: ignore
Special type which can be used as a placeholder for un-used parameters in AES70 APIs.
typedef integral<uint8_t>aes70:: OCP1:: OcaBoolean
OCP.1 encoder for OcaBoolean.
typedef floating_ point<float, uint32_t>aes70:: OCP1:: OcaFloat32
OCP.1 encoder for OcaFloat32.
typedef floating_ point<double, uint64_t>aes70:: OCP1:: OcaFloat64
OCP.1 encoder for OcaFloat64.
template<typename Key, typename Value>
using aes70:: OCP1:: OcaMultiMap = OcaList<pair<Key, Value>>
OCP.1 encoder template for OcaMultiMap.
Function documentation
template<typename T>
AES70_ALWAYS_INLINE std::size_t aes70:: OCP1:: encoded_length(const T& x)
Returns the number of bytes of the OCP.1 encoding of x
template<typename T>
AES70_ALWAYS_INLINE uint8_t* aes70:: OCP1:: encode_to(uint8_t* dst,
const T& x)
Returns | Returns dst + encoded_length(x) |
---|
Generates the OCP.1 encoding of x into dst.
template<typename T>
const AES70_ALWAYS_INLINE uint8_t* aes70:: OCP1:: decode_from(const uint8_t* src,
T& x)
Returns | Returns src + encoded_length(x). |
---|
Decodes x from src.
template<typename T>
const AES70_ALWAYS_INLINE uint8_t* aes70:: OCP1:: decode_length(const uint8_t* src,
const uint8_t* end,
const T&)
Returns src + encoded_length(x) or nullptr if !(src + encoded_length(x) < end).