1 #ifndef DCCLFIELDCODECDATAH
2 #define DCCLFIELDCODECDATAH
4 #include "../dynamic_conditions.h"
6 #include "field_codec_message_stack.h"
26 MessagePart part_{dccl::UNKNOWN};
28 const google::protobuf::Message* root_message_{
nullptr};
29 const google::protobuf::Descriptor* root_descriptor_{
nullptr};
33 template <
typename FieldCodecType>
34 void set_codec_specific_data(std::shared_ptr<dccl::any> data)
36 codec_specific_[std::type_index(
typeid(FieldCodecType))] = data;
39 template <
typename FieldCodecType> std::shared_ptr<dccl::any> codec_specific_data()
41 return codec_specific_.at(std::type_index(
typeid(FieldCodecType)));
44 template <
typename FieldCodecType>
bool has_codec_specific_data()
46 return codec_specific_.count(std::type_index(
typeid(FieldCodecType)));
50 std::map<std::type_index, std::shared_ptr<dccl::any>> codec_specific_;
Dynamic Compact Control Language namespace.