Интересно, поддерживает ли какая-либо из высокопроизводительных библиотек сериализации (например, буферов протокола Google) sum types.Высокопроизводительная библиотека сериализации объектов, поддерживающая типы сумм
типа Sum помечается союзами, в основном возможности сказать что-то либо A, тип B или C. Sum используется в таких языках, как Haskell и ML, которые поддерживают Algebraic Data Types
Ну, вам не нужны шаблоны, только тегированные союзы. Другим примером может служить protobuf с 3 необязательными полями с ограничением, что только один из них может быть установлен за раз. Я в основном ищу кросс-платформу с поддержкой некоторых основных языков, таких как C++, Java или, возможно, Python. – user239558
Я думаю, что типы сумм непрактичны (не являются невозможными) без соответствия шаблону. Использование необязательных полей является хрупким, поскольку невозможно обеспечить постоянное ограничение. ожидается, что вы можете конкатенировать сообщения, и ограничение может быть нарушено во время конкатенации – Shimuuar