1#ifndef ASN1C_CONVERSION_HPP_9E5QN6UC
2#define ASN1C_CONVERSION_HPP_9E5QN6UC
4#include <vanetza/asn1/asn1c_wrapper.hpp>
5#include <vanetza/common/byte_buffer_convertible.hpp>
18 using wrapper_type = T;
20 std::is_base_of<asn1::asn1c_wrapper_common<typename T::asn1c_type>, T>::value,
21 "Only asn1c_wrapper derivates are supported");
24 m_wrapper(
new wrapper_type(std::move(t)))
33 void convert(ByteBuffer& buffer)
const override
35 buffer = m_wrapper->encode();
38 std::unique_ptr<byte_buffer> duplicate()
const override
40 return std::unique_ptr<byte_buffer> {
45 std::size_t size()
const override
47 return m_wrapper->size();
50 std::shared_ptr<const wrapper_type> wrapper()
const
56 std::shared_ptr<const wrapper_type> m_wrapper;