Add virtual converter output interface

This commit is contained in:
deeaitch committed 2026-08-28 00:15:31 -04:00
1 parent 28c9752f18
commit 0f4da8e695
7 files changed
+144 -86

No files matched your search

+13 -2
View File
@@ -2,21 +2,32 @@
#define CONVERTER_H
#include <memory>
#include <cstddef>
#include <string>
#include <vector>
class Converter {
public:
explicit Converter (std::string input_file_name);
~Converter();
virtual ~Converter();
Converter (const Converter &) = delete;
Converter &operator= (const Converter &) = delete;
bool save (const std::string &output_file_name);
virtual bool save (const std::string &output_file_name) = 0;
[[nodiscard]] int error_code() const noexcept;
protected:
bool parse();
void set_error_code (int error_code) noexcept;
[[nodiscard]] const std::vector<std::string> &titles() const noexcept;
[[nodiscard]] std::size_t quote_count (const std::string &title) const;
[[nodiscard]] const std::string &quote_meta (const std::string &title,
std::size_t index) const;
[[nodiscard]] const std::vector<std::string> &quote_text_lines (
const std::string &title,
std::size_t index) const;
private:
struct Impl;