5#include "srs/data/message.pb.h"
10#include <google/protobuf/message_lite.h>
11#include <spdlog/spdlog.h>
19 template <
typename Converter, DataConvertOptions Conversion>
27 ,
name_{ std::move(name) }
51 const auto* input_data = prev_data_converter(line_number);
52 static_assert(std::same_as<
decltype(input_data),
const proto::Data*>);
66 auto operator()(
const proto::Data& proto_data, std::string& output_data) -> int;
81 auto operator()(
const proto::Data& proto_data, std::string& output_data) -> int;
85 :
public ProtoSerializerBase<protobuf_delim_deserializer_converter, DataConvertOptions::proto_frame>
auto get_n_lines() const -> std::size_t
std::expected< OutputType, std::string_view > RunResult
ConverterTask(std::string_view name, DataConvertOptions prev_convert, std::size_t n_lines=1)
ProtoDelimSerializer(std::size_t n_lines)
std::vector< std::string > output_data_
auto operator()(std::size_t line_num) const -> Base::OutputType
ProtoSerializerBase & operator=(ProtoSerializerBase &&)=delete
ProtoSerializerBase(ProtoSerializerBase &&)=delete
ConverterTask< Conversion, const proto::Data *, std::string_view > Base
ProtoSerializerBase(const ProtoSerializerBase &)=delete
ProtoSerializerBase & operator=(const ProtoSerializerBase &)=delete
auto run(const OutputTo< typename Base::InputType > auto &prev_data_converter, std::size_t line_number) -> Base::RunResult
ProtoSerializerBase(std::string name, Converter converter, std::size_t n_lines=1)
ProtoSerializer(std::size_t n_lines)
auto operator()(const proto::Data &proto_data, std::string &output_data) -> int
auto operator()(const proto::Data &proto_data, std::string &output_data) -> int