From 45124582e3b964800f0be1f88773dd6f2cafc672 Mon Sep 17 00:00:00 2001 From: Jack Lloyd Date: Sun, 10 Jan 2016 00:51:48 -0500 Subject: Add final attribute to many classes In some cases this can offer better optimization, via devirtualization. And it lets the user know the class is not intended for derivation. Some discussion in GH #402 --- src/lib/mac/cbc_mac/cbc_mac.h | 2 +- src/lib/mac/cmac/cmac.h | 2 +- src/lib/mac/hmac/hmac.h | 2 +- src/lib/mac/poly1305/poly1305.h | 2 +- src/lib/mac/siphash/siphash.h | 2 +- src/lib/mac/x919_mac/x919_mac.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/mac') diff --git a/src/lib/mac/cbc_mac/cbc_mac.h b/src/lib/mac/cbc_mac/cbc_mac.h index f1c6d5230..06d1dc852 100644 --- a/src/lib/mac/cbc_mac/cbc_mac.h +++ b/src/lib/mac/cbc_mac/cbc_mac.h @@ -16,7 +16,7 @@ namespace Botan { /** * CBC-MAC */ -class BOTAN_DLL CBC_MAC : public MessageAuthenticationCode +class BOTAN_DLL CBC_MAC final : public MessageAuthenticationCode { public: std::string name() const override; diff --git a/src/lib/mac/cmac/cmac.h b/src/lib/mac/cmac/cmac.h index 4f8d22b76..5a38de28d 100644 --- a/src/lib/mac/cmac/cmac.h +++ b/src/lib/mac/cmac/cmac.h @@ -16,7 +16,7 @@ namespace Botan { /** * CMAC, also known as OMAC1 */ -class BOTAN_DLL CMAC : public MessageAuthenticationCode +class BOTAN_DLL CMAC final : public MessageAuthenticationCode { public: std::string name() const override; diff --git a/src/lib/mac/hmac/hmac.h b/src/lib/mac/hmac/hmac.h index 3f5652352..5154739d2 100644 --- a/src/lib/mac/hmac/hmac.h +++ b/src/lib/mac/hmac/hmac.h @@ -16,7 +16,7 @@ namespace Botan { /** * HMAC */ -class BOTAN_DLL HMAC : public MessageAuthenticationCode +class BOTAN_DLL HMAC final : public MessageAuthenticationCode { public: void clear() override; diff --git a/src/lib/mac/poly1305/poly1305.h b/src/lib/mac/poly1305/poly1305.h index 20bc9b5ad..740313122 100644 --- a/src/lib/mac/poly1305/poly1305.h +++ b/src/lib/mac/poly1305/poly1305.h @@ -17,7 +17,7 @@ namespace Botan { * DJB's Poly1305 * Important note: each key can only be used once */ -class BOTAN_DLL Poly1305 : public MessageAuthenticationCode +class BOTAN_DLL Poly1305 final : public MessageAuthenticationCode { public: std::string name() const override { return "Poly1305"; } diff --git a/src/lib/mac/siphash/siphash.h b/src/lib/mac/siphash/siphash.h index 574835ca4..d774fe5e7 100644 --- a/src/lib/mac/siphash/siphash.h +++ b/src/lib/mac/siphash/siphash.h @@ -12,7 +12,7 @@ namespace Botan { -class BOTAN_DLL SipHash : public MessageAuthenticationCode +class BOTAN_DLL SipHash final : public MessageAuthenticationCode { public: SipHash(size_t c = 2, size_t d = 4) : m_C(c), m_D(d) {} diff --git a/src/lib/mac/x919_mac/x919_mac.h b/src/lib/mac/x919_mac/x919_mac.h index 9cdcd1527..904931d20 100644 --- a/src/lib/mac/x919_mac/x919_mac.h +++ b/src/lib/mac/x919_mac/x919_mac.h @@ -16,7 +16,7 @@ namespace Botan { /** * DES/3DES-based MAC from ANSI X9.19 */ -class BOTAN_DLL ANSI_X919_MAC : public MessageAuthenticationCode +class BOTAN_DLL ANSI_X919_MAC final : public MessageAuthenticationCode { public: void clear() override; -- cgit v1.2.3