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

@ -9,17 +9,17 @@ namespace analyzer { namespace teredo {
class Teredo_Analyzer : public analyzer::Analyzer {
public:
Teredo_Analyzer(Connection* conn) : Analyzer("TEREDO", conn),
explicit Teredo_Analyzer(Connection* conn) : Analyzer("TEREDO", conn),
valid_orig(false), valid_resp(false)
{}
virtual ~Teredo_Analyzer()
~Teredo_Analyzer() override
{}
virtual void Done();
void Done() override;
virtual void DeliverPacket(int len, const u_char* data, bool orig,
uint64 seq, const IP_Hdr* ip, int caplen);
void DeliverPacket(int len, const u_char* data, bool orig,
uint64 seq, const IP_Hdr* ip, int caplen) override;
static analyzer::Analyzer* Instantiate(Connection* conn)
{ return new Teredo_Analyzer(conn); }
@ -55,7 +55,7 @@ protected:
class TeredoEncapsulation {
public:
TeredoEncapsulation(const Teredo_Analyzer* ta)
explicit TeredoEncapsulation(const Teredo_Analyzer* ta)
: inner_ip(0), origin_indication(0), auth(0), analyzer(ta)
{}