class ErrorLogger: public Debug::ErrorReporter
{
public:
- virtual bool report_uncaught_exception(const std::exception &) const;
+ bool report_uncaught_exception(const std::exception &) const override;
};
} // namespace Android
void set_window_flags(unsigned, unsigned);
private:
- virtual void main();
+ void main() override;
static void app_created(void *);
static void activity_destroyed(ANativeActivity *);
public:
usage_error(const std::string &w, const std::string &h = std::string()): std::runtime_error(w), m_help(h) { }
- virtual ~usage_error() throw() = default;
+ ~usage_error() throw() override = default;
const char *help() const throw() { return m_help.c_str(); }
};
public:
OptionImpl(char, const std::string &, const Store &, ArgType);
- virtual ~OptionImpl();
+ ~OptionImpl() override;
- virtual OptionImpl &set_help(const std::string &);
- virtual OptionImpl &set_help(const std::string &, const std::string &);
- virtual OptionImpl &bind_seen_count(unsigned &);
+ OptionImpl &set_help(const std::string &) override;
+ OptionImpl &set_help(const std::string &, const std::string &) override;
+ OptionImpl &bind_seen_count(unsigned &) override;
char get_short() const { return shrt; }
const std::string &get_long() const { return lng; }
ArgType get_arg_type() const { return arg_type; }
const std::string &get_help() const { return help; }
const std::string &get_metavar() const { return metavar; }
- virtual unsigned get_seen_count() const { return seen_count; }
+ unsigned get_seen_count() const override { return seen_count; }
void process();
void process(const std::string &);
};
public:
ArgumentImpl(const std::string &, const Store &, ArgType);
- virtual ~ArgumentImpl();
+ ~ArgumentImpl() override;
- virtual ArgumentImpl &set_help(const std::string &);
+ ArgumentImpl &set_help(const std::string &) override;
const std::string &get_name() const { return name; }
ArgType get_type() const { return type; }
const std::string &get_help() const { return help; }
public:
SimpleStore(T &d): data(d) { }
- virtual SimpleStore *clone() const
+ SimpleStore *clone() const override
{ return new SimpleStore(data); }
- virtual bool is_list() const { return false; }
+ bool is_list() const override { return false; }
- virtual void store() { }
+ void store() override { }
- virtual void store(const std::string &a)
+ void store(const std::string &a) override
{ data = lexical_cast<T>(a); }
};
public:
ListStore(T &d): data(d) { }
- virtual ListStore *clone() const
+ ListStore *clone() const override
{ return new ListStore(data); }
- virtual bool is_list() const { return true; }
+ bool is_list() const override { return true; }
- virtual void store() { }
+ void store() override { }
- virtual void store(const std::string &a)
+ void store(const std::string &a) override
{ data.push_back(lexical_cast<typename T::value_type>(a)); }
};
runtime_error(make_what(typeid(T), MapUtilsInternal::stringify_key(k)))
{ }
- virtual ~key_error() throw() = default;
+ ~key_error() throw() override = default;
private:
static std::string make_what(const std::type_info &, const std::string &);
public:
system_error(const std::string &, int = -1);
system_error(const std::string &, const std::string &);
- virtual ~system_error() throw() = default;
+ ~system_error() throw() override = default;
int code() const throw() { return m_code; }
RegisteredType(const std::string &kw): TypeBase(kw) { }
- virtual void invoke(T arg) const { action(this->keyword, arg); }
+ void invoke(T arg) const override { action(this->keyword, arg); }
};
std::map<std::string, TypeBase *> types;
{
public:
type_mismatch(const std::type_info &, const std::type_info &);
- virtual ~type_mismatch() throw() = default;
+ ~type_mismatch() throw() override = default;
};
Store(const T &d): data(d) { }
- virtual const std::type_info &type_id() const { return typeid(T); }
- virtual StoreBase *clone() const { return new Store<T>(data); }
- virtual bool type_equals(const StoreBase &s) const { return dynamic_cast<const Store<T> *>(&s); }
- virtual bool value_equals(const StoreBase &s) const { return _value_equals<T>(s); }
+ const std::type_info &type_id() const override { return typeid(T); }
+ StoreBase *clone() const override { return new Store<T>(data); }
+ bool type_equals(const StoreBase &s) const override { return dynamic_cast<const Store<T> *>(&s); }
+ bool value_equals(const StoreBase &s) const override { return _value_equals<T>(s); }
template<typename U>
typename std::enable_if<IsEqualityComparable<U>::value, bool>::type _value_equals(const StoreBase &s) const
{
public:
not_a_directory(const Path &);
- virtual ~not_a_directory() throw() = default;
+ ~not_a_directory() throw() override = default;
};
/// Creates a directory
int add_watch(const FS::Path &, int);
void remove_watch(int);
- virtual void set_block(bool) { }
- virtual void set_inherit(bool) { }
+ void set_block(bool) override { }
+ void set_inherit(bool) override { }
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual const IO::Handle &get_handle(IO::Mode) { return fd; }
- virtual const IO::Handle &get_event_handle() { return fd; }
+ const IO::Handle &get_handle(IO::Mode) override { return fd; }
+ const IO::Handle &get_event_handle() override { return fd; }
};
Asset(const std::string &);
~Asset();
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
private:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
- virtual SeekOffset seek(SeekOffset, SeekType);
- virtual SeekOffset tell() const;
+ SeekOffset seek(SeekOffset, SeekType) override;
+ SeekOffset tell() const override;
};
} // namespace IO
Buffered(Base &, unsigned = 8192);
~Buffered();
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
void flush();
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual std::size_t put(char);
+ std::size_t put(char) override;
bool getline(std::string &);
int get();
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
private:
void set_op(Mode);
public:
~Console();
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
/** If local echo is enabled, characters will appear on the console as they
are typed. Can only be used on an input Console. */
void redirect(Base &);
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual const Handle &get_handle(Mode);
- virtual const Handle &get_event_handle() { return handle; }
+ const Handle &get_handle(Mode) override;
+ const Handle &get_event_handle() override { return handle; }
static Console &instance(Stream);
};
protected:
EventObject();
- virtual ~EventObject();
+ ~EventObject() override;
void set_events(PollEvent);
public:
{
public:
file_not_found(const std::string &fn): std::runtime_error(fn) { }
- virtual ~file_not_found() throw() = default;
+ ~file_not_found() throw() override = default;
};
class file_already_exists: public std::runtime_error
{
public:
file_already_exists(const std::string &fn): std::runtime_error(fn) { }
- virtual ~file_already_exists() throw() = default;
+ ~file_already_exists() throw() override = default;
};
private:
void platform_init(const std::string &, CreateMode);
public:
- virtual ~File();
+ ~File() override;
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual void sync();
+ void sync();
- virtual SeekOffset seek(SeekOffset, SeekType);
- virtual SeekOffset tell() const;
+ SeekOffset seek(SeekOffset, SeekType) override;
+ SeekOffset tell() const override;
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
};
inline File::CreateMode operator|(File::CreateMode m, File::CreateMode n)
public:
BufferedFile(const std::string &, Mode = M_READ, File::CreateMode = File::C_OVERWRITE);
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual std::size_t put(char);
+ std::size_t put(char) override;
- virtual bool getline(std::string &);
- virtual int get();
+ bool getline(std::string &) override;
+ int get() override;
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
- virtual SeekOffset seek(SeekOffset, SeekType);
- virtual SeekOffset tell() const { return position; }
+ SeekOffset seek(SeekOffset, SeekType) override;
+ SeekOffset tell() const override { return position; }
};
} // namespace IO
Memory(const char *d, std::size_t s): Memory(const_cast<char *>(d), const_cast<char *>(d+s), M_READ) { }
Memory(const char *b, const char *e): Memory(const_cast<char *>(b), const_cast<char *>(e), M_READ) { }
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
private:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual std::size_t put(char);
- virtual bool getline(std::string &);
- virtual int get();
+ std::size_t put(char) override;
+ bool getline(std::string &) override;
+ int get() override;
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
- virtual SeekOffset seek(SeekOffset, SeekType);
- virtual SeekOffset tell() const { return pos-begin; }
+ SeekOffset seek(SeekOffset, SeekType) override;
+ SeekOffset tell() const override { return pos-begin; }
};
} // namespace IO
{
public:
invalid_access(Mode);
- virtual ~invalid_access() throw() = default;
+ ~invalid_access() throw() override = default;
};
} // namespace IO
~Pipe();
void set_mode(Mode);
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual const Handle &get_handle(Mode);
- virtual const Handle &get_event_handle() { return reader.get_event(); }
+ const Handle &get_handle(Mode) override;
+ const Handle &get_event_handle() override { return reader.get_event(); }
};
} // namespace IO
{
public:
bad_seek(SeekOffset, SeekType);
- virtual ~bad_seek() throw() = default;
+ ~bad_seek() throw() override = default;
};
private:
void platform_init(const std::string &);
public:
- virtual ~Serial();
+ ~Serial() override;
private:
void close();
public:
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
void set_baud_rate(unsigned);
void set_data_bits(unsigned);
void set_parameters(const std::string &);
private:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual const Handle &get_handle(Mode);
- virtual const Handle &get_event_handle() { return reader.get_event(); }
+ const Handle &get_handle(Mode) override;
+ const Handle &get_event_handle() override { return reader.get_event(); }
};
} // namespace IO
public:
Slice(Seekable &, SeekOffset, SeekOffset);
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
private:
void flush();
unsigned prepare_op(unsigned, Mode);
protected:
- virtual std::size_t do_write(const char *, std::size_t);
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
+ std::size_t do_read(char *, std::size_t) override;
public:
- virtual std::size_t put(char);
- virtual int get();
+ std::size_t put(char) override;
+ int get() override;
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
- virtual SeekOffset seek(SeekOffset, SeekType);
- virtual SeekOffset tell() const { return position; }
+ SeekOffset seek(SeekOffset, SeekType) override;
+ SeekOffset tell() const override { return position; }
};
} // namespace IO
public:
zlib_error(const std::string &, int);
- virtual ~zlib_error() throw() = default;
+ ~zlib_error() throw() override = default;
int code() const throw() { return m_code; }
};
write, and compatible with the underlying object. */
ZlibCompressed(Base &, Mode, unsigned level = 9);
- virtual ~ZlibCompressed();
+ ~ZlibCompressed() override;
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
void flush();
protected:
- virtual std::size_t do_write(const char *, std::size_t);
+ std::size_t do_write(const char *, std::size_t) override;
private:
/** Compresses data and writes it to the underlying object. Returns true if
bool compress_data(int flush_mode);
public:
- virtual std::size_t do_read(char *, std::size_t);
+ std::size_t do_read(char *, std::size_t) override;
- virtual const Handle &get_handle(Mode);
+ const Handle &get_handle(Mode) override;
};
} // namespace IO
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Ascii(ErrorMode em = DEFAULT): StandardCodec<Ascii>(em) { }
- virtual const char *get_name() const { return "ASCII"; }
+ const char *get_name() const override { return "ASCII"; }
};
} // namespace StringCodec
{ return (em==DEFAULT ? err_mode : em); }
public:
- virtual Encoder *create_encoder(ErrorMode em = DEFAULT) const
+ Encoder *create_encoder(ErrorMode em = DEFAULT) const override
{ return new typename C::Encoder(get_error_mode(em)); }
- virtual Decoder *create_decoder(ErrorMode em = DEFAULT) const
+ Decoder *create_decoder(ErrorMode em = DEFAULT) const override
{ return new typename C::Decoder(get_error_mode(em)); }
};
{
public:
codec_error(const std::string &w): std::runtime_error(w) { }
- virtual ~codec_error() throw() = default;
+ ~codec_error() throw() override = default;
};
{
public:
invalid_character(unichar, const std::string &);
- virtual ~invalid_character() throw() = default;
+ ~invalid_character() throw() override = default;
};
{
public:
invalid_sequence(const std::string::const_iterator &, const std::string::const_iterator &, const std::string &);
- virtual ~invalid_sequence() throw() = default;
+ ~invalid_sequence() throw() override = default;
private:
std::string format_sequence(const std::string::const_iterator &, const std::string::const_iterator &);
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
- virtual void sync(std::string &);
- virtual void reset();
+ void encode_char(unichar, std::string &) override;
+ void sync(std::string &) override;
+ void reset() override;
private:
void switch_mode(Mode, std::string &);
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode = DEFAULT);
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
- virtual void reset();
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
+ void reset() override;
private:
void switch_mode(Mode);
};
Iso2022Jp(ErrorMode em = DEFAULT): StandardCodec<Iso2022Jp>(em) { }
- virtual const char *get_name() const { return "ISO-2022-JP"; }
+ const char *get_name() const override { return "ISO-2022-JP"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Iso646Fi(ErrorMode em = DEFAULT): StandardCodec<Iso646Fi>(em) { }
- virtual const char *get_name() const { return "ISO-646-FI"; }
+ const char *get_name() const override { return "ISO-646-FI"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Iso88591(ErrorMode em = DEFAULT): StandardCodec<Iso88591>(em) { }
- virtual const char *get_name() const { return "ISO-8859-1"; }
+ const char *get_name() const override { return "ISO-8859-1"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Iso885915(ErrorMode em = DEFAULT): StandardCodec<Iso885915>(em) { }
- virtual const char *get_name() const { return "ISO-8859-15"; }
+ const char *get_name() const override { return "ISO-8859-15"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
JisX0201(ErrorMode em = DEFAULT): StandardCodec<JisX0201>(em) { }
- virtual const char *get_name() const { return "JIS X 0201"; }
+ const char *get_name() const override { return "JIS X 0201"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
JisX0208(ErrorMode em = DEFAULT): StandardCodec<JisX0208>(em) { }
- virtual const char *get_name() const { return "JIS X 0208"; }
+ const char *get_name() const override { return "JIS X 0208"; }
};
public:
Encoder(ErrorMode em = DEFAULT, Endian en = BIG);
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT, Endian en = AUTO);
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
private:
unichar decode_unit(const std::string &, const std::string::const_iterator &, std::string::const_iterator &);
};
endian(en)
{ }
- virtual const char *get_name() const
+ const char *get_name() const override
{ return endian==BIG ? "UTF-16-BE" : endian==LITTLE ? "UTF-16-LE" : "UTF-16"; }
- virtual Encoder *create_encoder(ErrorMode em = DEFAULT) const
+ Encoder *create_encoder(ErrorMode em = DEFAULT) const override
{ return new Encoder(get_error_mode(em), endian); }
- virtual Decoder *create_decoder(ErrorMode em = DEFAULT) const
+ Decoder *create_decoder(ErrorMode em = DEFAULT) const override
{ return new Decoder(get_error_mode(em), endian); }
};
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Utf8(ErrorMode em = DEFAULT): StandardCodec<Utf8>(em) { }
- virtual const char *get_name() const { return "UTF-8"; }
+ const char *get_name() const override { return "UTF-8"; }
};
} // namespace StringCodec
public:
Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
- virtual void encode_char(unichar, std::string &);
+ void encode_char(unichar, std::string &) override;
private:
- virtual void transliterate(unichar, std::string &);
+ void transliterate(unichar, std::string &) override;
};
class Decoder: public Codec::Decoder
public:
Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
- virtual unichar decode_char(const std::string &, std::string::const_iterator &);
+ unichar decode_char(const std::string &, std::string::const_iterator &) override;
};
Windows1252(ErrorMode em = DEFAULT): StandardCodec<Windows1252>(em) { }
- virtual const char *get_name() const { return "Windows-1252"; }
+ const char *get_name() const override { return "Windows-1252"; }
};
} // namespace StringCodec
{
public:
format_error(const std::string &w): std::logic_error(w) { }
- virtual ~format_error() throw() = default;
+ ~format_error() throw() override = default;
};
{
public:
lexical_error(const std::string &w): runtime_error(w) { }
- virtual ~lexical_error() throw() = default;
+ ~lexical_error() throw() override = default;
};
{
public:
format_mismatch(const std::string &w): lexical_error(w) { }
- virtual ~format_mismatch() throw() = default;
+ ~format_mismatch() throw() override = default;
};
{
public:
bad_regex(const std::string &, const std::string &, const std::string::const_iterator &);
- virtual ~bad_regex() throw() = default;
+ ~bad_regex() throw() override = default;
private:
std::string make_where(const std::string &, const std::string::const_iterator &);