diff --git a/include/json/reader.h b/include/json/reader.h index 9e44d12..6fe7fba 100644 --- a/include/json/reader.h +++ b/include/json/reader.h @@ -271,7 +271,7 @@ public: * \throw std::exception if something goes wrong (e.g. invalid settings) */ virtual CharReader* newCharReader() const = 0; - virtual std::unique_ptr makeCharReader() const = 0; + std::unique_ptr makeCharReader() const; }; // Factory }; // CharReader @@ -342,7 +342,6 @@ public: * \deprecated Use makeCharReader. */ CharReader* newCharReader() const override; - std::unique_ptr makeCharReader() const override; /** \return true if 'settings' are legal and consistent; * otherwise, indicate bad settings via 'invalid'. */ diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp index b79cafb..364b453 100644 --- a/src/lib_json/json_reader.cpp +++ b/src/lib_json/json_reader.cpp @@ -1872,6 +1872,10 @@ std::vector OurReader::getStructuredErrors() const { return allErrors; } +std::unique_ptr CharReader::Factory::makeCharReader() const { + return std::unique_ptr(newCharReader()); +} + class OurCharReader : public CharReader { bool const collectComments_; OurReader reader_; @@ -1891,9 +1895,6 @@ public: CharReaderBuilder::CharReaderBuilder() { setDefaults(&settings_); } CharReaderBuilder::~CharReaderBuilder() = default; -std::unique_ptr CharReaderBuilder::makeCharReader() const { - return std::unique_ptr(newCharReader()); -} CharReader* CharReaderBuilder::newCharReader() const { bool collectComments = settings_["collectComments"].asBool();