Default implementations allow for more optimizations. See: https://pvs-studio.com/en/docs/warnings/v832/
@@ -19,7 +19,7 @@ class CBC : public Mode<T> {
public:
constexpr static size_t IVSizeInBits = 128;
- virtual ~CBC() { }
+ virtual ~CBC() = default;
template<typename... Args>
explicit constexpr CBC<T>(Args... args)
: Mode<T>(args...)
@@ -88,7 +88,7 @@ class CTR : public Mode<T> {
- virtual ~CTR() { }
+ virtual ~CTR() = default;
// Must intercept `Intent`, because AES must always be set to
// Encryption, even when decrypting AES-CTR.
@@ -24,7 +24,7 @@ class GCM : public CTR<T, IncrementFunction> {
- virtual ~GCM() { }
+ virtual ~GCM() = default;
explicit constexpr GCM<T>(Args... args)
@@ -17,7 +17,7 @@ namespace Cipher {
template<typename T>
class Mode {
- virtual ~Mode() { }
+ virtual ~Mode() = default;
virtual void encrypt(ReadonlyBytes in, Bytes& out, ReadonlyBytes ivec = {}, Bytes* ivec_out = nullptr) = 0;
virtual void decrypt(ReadonlyBytes in, Bytes& out, ReadonlyBytes ivec = {}) = 0;
@@ -25,9 +25,7 @@ public:
{
}
- PKSystem()
- {
- }
+ PKSystem() = default;
virtual void encrypt(ReadonlyBytes in, Bytes& out) = 0;
virtual void decrypt(ReadonlyBytes in, Bytes& out) = 0;
@@ -60,9 +60,7 @@ public:
- RSAPrivateKey()
+ RSAPrivateKey() = default;
const Integer& modulus() const { return m_modulus; }
const Integer& private_exponent() const { return m_private_exponent; }