c++ - Encoding a data structure based on TLV encoding -
i have encode parameters nowadays within info construction based on x.690 encoding. suppose, construction is:
struct data_struct { parameter1 parameter2 parameter3 } some or of these parameter may having valid data, say, parameter1 , parameter3. supposed encode parameter1 , parameter3 using tlv encoding. have follow sequencial procedure follow this. like,
check whether parameter 1 nowadays if present, find tag of parameter lookup table , encode check whether parameter 2 nowadays if present, find tag of parameter lookup table , encode check whether parameter 3 nowadays if present, find tag of parameter lookup table , encode as procedure repetitive can modularize it? what best way it? is there way access parameters sequentially? how can have relationship between parameter , it's tag? length of value variable.
you need create table holds pairs of members , tags, {&data_struct::parameter1, tagforparam1}. unavoidable compiler cannot guess tag.
you need define consider "empty" or "valid data". depends on type. e.g. +inf valid float value? so, add together overloaded functions bool isvalid(t)
you can write generic routine walks through table, retrieves each paramter, checks if it's valid, , write output stream.
a slight challenge here type of &data_struct::parameter1 may differ &data_struct::parameter2; table must hold via wrapper, pointer base of operations class, or similar.
c++ encoding tlv
No comments:
Post a Comment