Я до сих пор не уверен в правильности названия моего вопроса, и, скорее всего, это не так. Однако я потратил некоторое время на поиск как в сети, так и в стеке, и не могу найти хорошее описание проблемы, с которой сталкиваюсь.
По сути, я хочу достичь способности читать некоторые необработанные байты и, основываясь на значении некоторых из них, интерпретировать остальные по-разному. Так работает TLV , вы проверяете тег и, в зависимости от него, интерпретируете результат. Конечно, я всегда могу сохранить эту логику в своем коде C ++, однако я ищу решение, которое бы убрало логику из исходного кода (возможно, к некоторому XML-описанию). Это позволило бы мне более легко описывать различные кодировки (протоколы). Я знаком с Protocol Buffers и некоторыми другими библиотеками сериализации, однако все они решают разные проблемы. Они предполагают, что находятся на обоих концах общения, а я хочу описать общение (вроде).
Есть ли такое решение, если нет, то почему? Существуют ли присущие мне трудности при его реализации?