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

@ -27,12 +27,12 @@ public:
* @param name A descriptive name for the component. This name must
* be unique across all components of this type.
*/
Component(const std::string& name);
explicit Component(const std::string& name);
/**
* Destructor.
*/
~Component();
~Component() override;
protected:
/**
@ -80,7 +80,7 @@ public:
/**
* Destructor.
*/
virtual ~PktSrcComponent();
~PktSrcComponent() override;
/**
* Returns the prefix(es) passed to the constructor.
@ -113,7 +113,7 @@ public:
* Generates a human-readable description of the component. This goes
* into the output of \c "bro -NN".
*/
virtual void DoDescribe(ODesc* d) const;
void DoDescribe(ODesc* d) const override;
private:
std::vector<std::string> prefixes;
@ -139,7 +139,7 @@ public:
/**
* Destructor.
*/
~PktDumperComponent();
~PktDumperComponent() override;
/**
* Returns the prefix(es) passed to the constructor.
@ -160,7 +160,7 @@ public:
* Generates a human-readable description of the component. This goes
* into the output of \c "bro -NN".
*/
virtual void DoDescribe(ODesc* d) const;
void DoDescribe(ODesc* d) const override;
private:
std::vector<std::string> prefixes;