remove virtual, and implemnt the makeCharReader in the CharReeader::Factory interface

This commit is contained in:
Assaf Passal 2022-07-27 00:54:53 +03:00
parent 4f41c0f938
commit f2ec46663f
2 changed files with 5 additions and 5 deletions

View File

@ -271,7 +271,7 @@ public:
* \throw std::exception if something goes wrong (e.g. invalid settings) * \throw std::exception if something goes wrong (e.g. invalid settings)
*/ */
virtual CharReader* newCharReader() const = 0; virtual CharReader* newCharReader() const = 0;
virtual std::unique_ptr<CharReader> makeCharReader() const = 0; std::unique_ptr<CharReader> makeCharReader() const;
}; // Factory }; // Factory
}; // CharReader }; // CharReader
@ -342,7 +342,6 @@ public:
* \deprecated Use makeCharReader. * \deprecated Use makeCharReader.
*/ */
CharReader* newCharReader() const override; CharReader* newCharReader() const override;
std::unique_ptr<CharReader> makeCharReader() const override;
/** \return true if 'settings' are legal and consistent; /** \return true if 'settings' are legal and consistent;
* otherwise, indicate bad settings via 'invalid'. * otherwise, indicate bad settings via 'invalid'.
*/ */

View File

@ -1872,6 +1872,10 @@ std::vector<OurReader::StructuredError> OurReader::getStructuredErrors() const {
return allErrors; return allErrors;
} }
std::unique_ptr<CharReader> CharReader::Factory::makeCharReader() const {
return std::unique_ptr<CharReader>(newCharReader());
}
class OurCharReader : public CharReader { class OurCharReader : public CharReader {
bool const collectComments_; bool const collectComments_;
OurReader reader_; OurReader reader_;
@ -1891,9 +1895,6 @@ public:
CharReaderBuilder::CharReaderBuilder() { setDefaults(&settings_); } CharReaderBuilder::CharReaderBuilder() { setDefaults(&settings_); }
CharReaderBuilder::~CharReaderBuilder() = default; CharReaderBuilder::~CharReaderBuilder() = default;
std::unique_ptr<CharReader> CharReaderBuilder::makeCharReader() const {
return std::unique_ptr<CharReader>(newCharReader());
}
CharReader* CharReaderBuilder::newCharReader() const { CharReader* CharReaderBuilder::newCharReader() const {
bool collectComments = settings_["collectComments"].asBool(); bool collectComments = settings_["collectComments"].asBool();