Допустим, flatbuffers::String * в std::string_view и так далее. Для таблиц (в том числе nested). Например:
struct TLV
{
flatbuffers::Vector<std::uint8_t> * tag;
flatbuffers::String * length;
std::uint32_t value;
};
Конвертировалось условно в (в реализации может быть std::tuple<Fields...>:
struct Tlv
{
std::span<const std::uint8_t *> tag;
std::string_view length;
std::uint32_t value;
};
Чтобы с этим можно было работать в std-like стиле без привязки к реализации flatbuffers.
да, способ такой: заставить людей на С++ писать библиотеки хотя бы в гугле так, чтобы код был похож на то что в стандартной либе
у Степанова книжки слишком тонкие для этого, ему в своё время надо было брать пример с Кнута
Проблема в том, что одно дело, если твоя работа это именно писать и вылизывать эти библиотеки, а другое, если от библиотек нужно чтобы их как можно быстрее можно было интегрировать для решения других задач, т.е. разница в том, что в приоритете время или качества, а вернее в том, чем позволительнее пренебречь.
Обсуждают сегодня