|
| class | ddl::codec::LeafCodecIndex |
| | The Leaf codec index is a small layout information index to access the decoders/codecs data very fast. There are following constraints: More...
|
| |
| struct | ddl::codec::detail::SupportedLeafValueTypeExplicit< ValueType > |
| |
| struct | ddl::codec::detail::SupportTargetTypeConversion< ElementValueTypeFrom, TargetValueTypeTo > |
| |
| struct | ddl::codec::detail::SupportAnyFromFundamentalConversion< ValueType > |
| |
| struct | ddl::codec::detail::TargetValueConverter< ElementValueType, TargetValueType, conversion_allowed > |
| | Converter to convert a value of ElementValueType to a value of TargetValueType. More...
|
| |
| struct | ddl::codec::detail::TargetValueConverter< ElementValueType, TargetValueType, false > |
| | Converter to convert a value of ElementValueType to a value of TargetValueType. More...
|
| |
| struct | ddl::codec::detail::SupportSourceTypeConversion< ElementValueTypeTo, SourceValueTypeFrom > |
| |
| struct | ddl::codec::detail::SupportAnyToFundamentalConversion< ValueType > |
| |
| struct | ddl::codec::detail::SourceValueConverter< ElementValueType, SourceValueType, conversion_allowed > |
| | Converter to convert from a value of SourceValueType to a value of ElementValueType. More...
|
| |
| struct | ddl::codec::detail::SourceValueConverter< ElementValueType, SourceValueType, false > |
| | Converter to convert from a value of SourceValueType to a value of ElementValueType. More...
|
| |
| struct | ddl::codec::LeafValueGetter< ValueType > |
| |
| struct | ddl::codec::LeafValueSetter< ValueType > |
| |
|
| template<typename ElementValueType, typename TargetValueType> |
| TargetValueType | ddl::codec::detail::readBytes (const void *data, const size_t &data_size, uint32_t byte_pos) |
| | Read the bytes from a data area and converts this value to the TargetValueType.
|
| |
| template<typename ElementValueType, typename SourceValueType> |
| void | ddl::codec::detail::writeBytes (void *data, const size_t &data_size, uint32_t byte_pos, const SourceValueType &source_value) |
| | Writes the value of source_value to the data area after conversion to the elements ElementValueType.
|
| |
| template<typename ElementValueType, typename TargetValueType> |
| TargetValueType | ddl::codec::detail::readBits (const void *data, size_t data_size, size_t bit_offset, size_t bit_size, a_util::memory::Endianess byte_order) |
| | Read the bits from a data area and converts this value to the TargetValueType.
|
| |
| template<typename ElementValueType, typename SourceValueType> |
| void | ddl::codec::detail::writeBits (void *data, size_t data_size, size_t bit_offset, size_t bit_size, a_util::memory::Endianess byte_order, const SourceValueType &source_value) |
| | Write the bits of the element to the data area after conversion from source_value.
|
| |
| template<typename ValueType> |
| ValueType | ddl::codec::detail::readDeserializedBytes (const void *data, const size_t &data_size, const LeafLayout &layout) |
| | Retrieves a value from the given data area with the layout information of the layout.
|
| |
| template<typename ValueType> |
| ValueType | ddl::codec::detail::readSerializedBits (const void *data, const size_t &data_size, const LeafLayout &layout) |
| | Retrieves a value from the given data area with the layout information of the layout.
|
| |
| template<typename ValueType> |
| void | ddl::codec::detail::writeDeserializedBytes (void *data, const size_t &data_size, const LeafLayout &layout, const ValueType &value) |
| | Writes a value to the given data area with the layout information of the layout.
|
| |
| template<typename ValueType> |
| void | ddl::codec::detail::writeSerializedBits (void *data, const size_t &data_size, const LeafLayout &layout, const ValueType &value) |
| | Writes a value to the given data area with the layout information of the layout.
|
| |
The leaf value access decoding and encoding is a header only optimization for leaf values of standard types at 1-byte aligned positions.
- Copyright
Copyright 2025 Digitalwerk GmbH.
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.