Mark one-parameter constructors as explicit & use override where possible

This commit marks (hopefully) ever one-parameter constructor as explicit.

It also uses override in (hopefully) all circumstances where a virtual
method is overridden.

There are a very few other minor changes - most of them were necessary
to get everything to compile (like one additional constructor). In one
case I changed an implicit operation to an explicit string conversion -
I think the automatically chosen conversion was much more convoluted.

This took longer than I want to admit but not as long as I feared :)
This commit is contained in:
Johanna Amann 2018-03-16 22:14:22 -07:00
parent 1f2bf50b49
commit 6d612ced3d
173 changed files with 1052 additions and 1046 deletions

View file

@ -43,7 +43,7 @@ public:
/**
* Destructor.
*/
virtual ~Hasher() { }
~Hasher() override { }
/**
* Computes hash values for an element.
@ -138,7 +138,7 @@ public:
*
* @param arg_seed The seed to use for this instance.
*/
UHF(Hasher::seed_t arg_seed);
explicit UHF(Hasher::seed_t arg_seed);
template <typename T>
Hasher::digest operator()(const T& x) const
@ -204,9 +204,9 @@ public:
DefaultHasher(size_t k, Hasher::seed_t seed);
// Overridden from Hasher.
virtual digest_vector Hash(const void* x, size_t n) const final;
virtual DefaultHasher* Clone() const final;
virtual bool Equals(const Hasher* other) const final;
digest_vector Hash(const void* x, size_t n) const final;
DefaultHasher* Clone() const final;
bool Equals(const Hasher* other) const final;
DECLARE_SERIAL(DefaultHasher);
@ -232,9 +232,9 @@ public:
DoubleHasher(size_t k, Hasher::seed_t seed);
// Overridden from Hasher.
virtual digest_vector Hash(const void* x, size_t n) const final;
virtual DoubleHasher* Clone() const final;
virtual bool Equals(const Hasher* other) const final;
digest_vector Hash(const void* x, size_t n) const final;
DoubleHasher* Clone() const final;
bool Equals(const Hasher* other) const final;
DECLARE_SERIAL(DoubleHasher);