Have example C++ programs use override specifier
diff --git a/example/cbor-to-json/cbor-to-json.cc b/example/cbor-to-json/cbor-to-json.cc
index 0cfb1ac..c4734d5 100644
--- a/example/cbor-to-json/cbor-to-json.cc
+++ b/example/cbor-to-json/cbor-to-json.cc
@@ -326,7 +326,7 @@
return "";
}
- virtual std::string AppendNull() {
+ std::string AppendNull() override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -334,7 +334,7 @@
return write_dst("null", 4);
}
- virtual std::string AppendUndefined() {
+ std::string AppendUndefined() override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -346,7 +346,7 @@
return write_dst("null", 4);
}
- virtual std::string AppendBool(bool val) {
+ std::string AppendBool(bool val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -357,7 +357,7 @@
return write_dst("false", 5);
}
- virtual std::string AppendF64(double val) {
+ std::string AppendF64(double val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -385,7 +385,7 @@
return write_dst(&buf[0], n);
}
- virtual std::string AppendI64(int64_t val) {
+ std::string AppendI64(int64_t val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
TRY(write_dst("\"", 1));
@@ -403,7 +403,7 @@
return "";
}
- virtual std::string AppendU64(uint64_t val) {
+ std::string AppendU64(uint64_t val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
TRY(write_dst("\"", 1));
@@ -421,7 +421,7 @@
return "";
}
- virtual std::string AppendByteString(std::string&& val) {
+ std::string AppendByteString(std::string&& val) override {
TRY(WritePreambleAndUpdateContext());
if (g_flags.output_cbor_metadata_as_comments) {
TRY(write_dst("/*cbor:base64url*/\"", 19));
@@ -455,7 +455,7 @@
return write_dst("\"", 1);
}
- virtual std::string AppendTextString(std::string&& val) {
+ std::string AppendTextString(std::string&& val) override {
TRY(WritePreambleAndUpdateContext());
TRY(write_dst("\"", 1));
const uint8_t* ptr =
@@ -506,7 +506,7 @@
return write_dst(&esc6[0], 6);
}
- virtual std::string AppendMinus1MinusX(uint64_t val) {
+ std::string AppendMinus1MinusX(uint64_t val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
TRY(write_dst("\"", 1));
@@ -532,7 +532,7 @@
return "";
}
- virtual std::string AppendCborSimpleValue(uint8_t val) {
+ std::string AppendCborSimpleValue(uint8_t val) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -551,7 +551,7 @@
return write_dst("*/null", 6);
}
- virtual std::string AppendCborTag(uint64_t val) {
+ std::string AppendCborTag(uint64_t val) override {
// No call to WritePreambleAndUpdateContext. A CBOR tag isn't a value. It
// decorates the upcoming value.
if (g_flags.output_cbor_metadata_as_comments) {
@@ -560,7 +560,7 @@
return "";
}
- virtual std::string Push(uint32_t flags) {
+ std::string Push(uint32_t flags) override {
TRY(WritePreambleAndUpdateContext());
if (g_ctx == context::in_dict_after_key) {
return "main: invalid JSON map key";
@@ -574,7 +574,7 @@
(flags & WUFFS_BASE__TOKEN__VBD__STRUCTURE__TO_LIST) ? "[" : "{", 1);
}
- virtual std::string Pop(uint32_t flags) {
+ std::string Pop(uint32_t flags) override {
// No call to WritePreambleAndUpdateContext. We write the extra comma,
// outdent, etc. ourselves.
g_depth--;
diff --git a/example/json-to-cbor/json-to-cbor.cc b/example/json-to-cbor/json-to-cbor.cc
index 7d2bdfe..16994e5 100644
--- a/example/json-to-cbor/json-to-cbor.cc
+++ b/example/json-to-cbor/json-to-cbor.cc
@@ -242,13 +242,13 @@
return write_dst(&c[0], 9);
}
- virtual std::string AppendNull() { return write_dst("\xF6", 1); }
+ std::string AppendNull() override { return write_dst("\xF6", 1); }
- virtual std::string AppendBool(bool val) {
+ std::string AppendBool(bool val) override {
return write_dst(val ? "\xF5" : "\xF4", 1);
}
- virtual std::string AppendF64(double val) {
+ std::string AppendF64(double val) override {
uint8_t c[9];
wuffs_base__lossy_value_u16 lv16 =
wuffs_base__ieee_754_bit_representation__from_f64_to_u16_truncate(val);
@@ -270,32 +270,28 @@
return write_dst(&c[0], 9);
}
- virtual std::string AppendI64(int64_t val) {
+ std::string AppendI64(int64_t val) override {
return (val >= 0) ? Append(static_cast<uint64_t>(val), 0x00)
: Append(static_cast<uint64_t>(-(val + 1)), 0x20);
}
- virtual std::string AppendByteString(std::string&& val) {
+ std::string AppendByteString(std::string&& val) override {
TRY(Append(val.size(), 0x40));
return write_dst(val.data(), val.size());
}
- virtual std::string AppendTextString(std::string&& val) {
+ std::string AppendTextString(std::string&& val) override {
TRY(Append(val.size(), 0x60));
return write_dst(val.data(), val.size());
}
- virtual std::string Push(uint32_t flags) {
+ std::string Push(uint32_t flags) override {
return write_dst(
(flags & WUFFS_BASE__TOKEN__VBD__STRUCTURE__TO_LIST) ? "\x9F" : "\xBF",
1);
}
- virtual std::string Pop(uint32_t flags) { return write_dst("\xFF", 1); }
-
- virtual void Done(wuffs_aux::DecodeJsonResult& result,
- wuffs_aux::sync_io::Input& input,
- wuffs_aux::IOBuffer& buffer) {}
+ std::string Pop(uint32_t flags) override { return write_dst("\xFF", 1); }
};
// ----
diff --git a/example/jsonfindptrs/jsonfindptrs.cc b/example/jsonfindptrs/jsonfindptrs.cc
index b5dcef1..c26ff4e 100644
--- a/example/jsonfindptrs/jsonfindptrs.cc
+++ b/example/jsonfindptrs/jsonfindptrs.cc
@@ -414,41 +414,41 @@
return "main: internal error: non-container stack entry";
}
- virtual std::string AppendNull() {
+ std::string AppendNull() override {
JsonThing jt;
jt.kind = JsonThing::Kind::Null;
return Append(std::move(jt));
}
- virtual std::string AppendBool(bool val) {
+ std::string AppendBool(bool val) override {
JsonThing jt;
jt.kind = JsonThing::Kind::Bool;
jt.value.b = val;
return Append(std::move(jt));
}
- virtual std::string AppendI64(int64_t val) {
+ std::string AppendI64(int64_t val) override {
JsonThing jt;
jt.kind = JsonThing::Kind::Int64;
jt.value.i = val;
return Append(std::move(jt));
}
- virtual std::string AppendF64(double val) {
+ std::string AppendF64(double val) override {
JsonThing jt;
jt.kind = JsonThing::Kind::Float64;
jt.value.f = val;
return Append(std::move(jt));
}
- virtual std::string AppendTextString(std::string&& val) {
+ std::string AppendTextString(std::string&& val) override {
JsonThing jt;
jt.kind = JsonThing::Kind::String;
jt.value.s = std::move(val);
return Append(std::move(jt));
}
- virtual std::string Push(uint32_t flags) {
+ std::string Push(uint32_t flags) override {
if (flags & WUFFS_BASE__TOKEN__VBD__STRUCTURE__TO_LIST) {
JsonThing jt;
jt.kind = JsonThing::Kind::Array;
@@ -463,7 +463,7 @@
return "main: internal error: bad push";
}
- virtual std::string Pop(uint32_t flags) {
+ std::string Pop(uint32_t flags) override {
if (m_stack.empty()) {
return "main: internal error: bad pop";
}
@@ -472,9 +472,9 @@
return Append(std::move(jt));
}
- virtual void Done(wuffs_aux::DecodeJsonResult& result,
- wuffs_aux::sync_io::Input& input,
- wuffs_aux::IOBuffer& buffer) {
+ void Done(wuffs_aux::DecodeJsonResult& result,
+ wuffs_aux::sync_io::Input& input,
+ wuffs_aux::IOBuffer& buffer) override {
if (!result.error_message.empty()) {
return;
} else if (m_stack.size() != 1) {