31 #include <string_view> 39 std::string_view source) {
40 const std::vector<std::string> sources{std::string(source)};
45 const std::vector<std::string> &sources) {
46 if (sources.empty()) {
47 LOG(ERROR) <<
"FarReaderClass::Open: No files specified";
51 if (arc_type.empty()) {
52 LOG(ERROR) <<
"FarReaderClass::Open: File could not be opened: " 60 Apply<Operation<OpenFarReaderClassArgs>>(
"OpenFarReaderClass", arc_type,
62 return std::move(args.
retval);
73 const std::string &source,
const std::string &arc_type,
FarType type) {
77 Apply<Operation<CreateFarWriterClassArgs>>(
"CreateFarWriterClass", arc_type,
79 return std::move(args.
retval);
static std::unique_ptr< FarWriterClass > Create(const std::string &source, const std::string &arc_type, FarType type=FarType::DEFAULT)
std::pair< const std::string &, FarType > CreateFarWriterClassInnerArgs
REGISTER_FST_OPERATION(OpenFarReaderClass, StdArc, OpenFarReaderClassArgs)
std::string LoadArcTypeFromFar(const std::string &far_source)
void CreateFarWriterClass(CreateFarWriterClassArgs *args)
friend void OpenFarReaderClass(OpenFarReaderClassArgs *args)
static std::unique_ptr< FarReaderClass > Open(std::string_view source)