mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 03:13:30 +01:00
Remove redundant destructors
Classes will automatically inherit the virtual-ness of their base class destructors. If the base class already has a virtual destructor and the derived class needs default destructor semantics then the derived class can omit defining the destructor in favor of the compiler automatically defining it. This has an additional benefit of reenabling move semantics. The presence of a user-specified destructor automatically disables move operations.
This commit is contained in:
parent
d79bfa05c7
commit
05786fa7ec
@ -7304,12 +7304,6 @@ namespace Detail {
|
||||
}
|
||||
|
||||
public:
|
||||
~IGenerator() override = default;
|
||||
IGenerator() = default;
|
||||
IGenerator(IGenerator const&) = default;
|
||||
IGenerator& operator=(IGenerator const&) = default;
|
||||
|
||||
|
||||
// Returns the current element of the generator
|
||||
//
|
||||
// \Precondition The generator is either freshly constructed,
|
||||
@ -10707,8 +10701,6 @@ namespace Catch {
|
||||
|
||||
class TestRegistry : public ITestCaseRegistry {
|
||||
public:
|
||||
~TestRegistry() override = default;
|
||||
|
||||
void registerTest( Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker );
|
||||
|
||||
std::vector<TestCaseInfo*> const& getAllInfos() const override;
|
||||
@ -13376,8 +13368,6 @@ namespace Catch {
|
||||
public:
|
||||
JunitReporter(ReporterConfig&& _config);
|
||||
|
||||
~JunitReporter() override = default;
|
||||
|
||||
static std::string getDescription();
|
||||
|
||||
void testRunStarting(TestRunInfo const& runInfo) override;
|
||||
@ -13618,8 +13608,6 @@ namespace Catch {
|
||||
m_shouldStoreSuccesfulAssertions = false;
|
||||
}
|
||||
|
||||
~SonarQubeReporter() override = default;
|
||||
|
||||
static std::string getDescription() {
|
||||
using namespace std::string_literals;
|
||||
return "Reports test results in the Generic Test Data SonarQube XML format"s;
|
||||
@ -13666,7 +13654,6 @@ namespace Catch {
|
||||
StreamingReporterBase( CATCH_MOVE(config) ) {
|
||||
m_preferences.shouldReportAllAssertions = true;
|
||||
}
|
||||
~TAPReporter() override = default;
|
||||
|
||||
static std::string getDescription() {
|
||||
using namespace std::string_literals;
|
||||
|
@ -37,12 +37,6 @@ namespace Detail {
|
||||
}
|
||||
|
||||
public:
|
||||
~IGenerator() override = default;
|
||||
IGenerator() = default;
|
||||
IGenerator(IGenerator const&) = default;
|
||||
IGenerator& operator=(IGenerator const&) = default;
|
||||
|
||||
|
||||
// Returns the current element of the generator
|
||||
//
|
||||
// \Precondition The generator is either freshly constructed,
|
||||
|
@ -80,7 +80,6 @@ namespace Detail {
|
||||
CATCH_ENFORCE( !m_ofs.fail(), "Unable to open file: '" << filename << '\'' );
|
||||
m_ofs << std::unitbuf;
|
||||
}
|
||||
~FileStream() override = default;
|
||||
public: // IStream
|
||||
std::ostream& stream() override {
|
||||
return m_ofs;
|
||||
@ -95,7 +94,6 @@ namespace Detail {
|
||||
// Store the streambuf from cout up-front because
|
||||
// cout may get redirected when running tests
|
||||
CoutStream() : m_os( Catch::cout().rdbuf() ) {}
|
||||
~CoutStream() override = default;
|
||||
|
||||
public: // IStream
|
||||
std::ostream& stream() override { return m_os; }
|
||||
@ -109,7 +107,6 @@ namespace Detail {
|
||||
// Store the streambuf from cerr up-front because
|
||||
// cout may get redirected when running tests
|
||||
CerrStream(): m_os( Catch::cerr().rdbuf() ) {}
|
||||
~CerrStream() override = default;
|
||||
|
||||
public: // IStream
|
||||
std::ostream& stream() override { return m_os; }
|
||||
@ -127,8 +124,6 @@ namespace Detail {
|
||||
m_os( m_streamBuf.get() )
|
||||
{}
|
||||
|
||||
~DebugOutStream() override = default;
|
||||
|
||||
public: // IStream
|
||||
std::ostream& stream() override { return m_os; }
|
||||
};
|
||||
|
@ -38,7 +38,6 @@ namespace Catch {
|
||||
TrackerContext& ctx,
|
||||
ITracker* parent ):
|
||||
TrackerBase( CATCH_MOVE( nameAndLocation ), ctx, parent ) {}
|
||||
~GeneratorTracker() override = default;
|
||||
|
||||
static GeneratorTracker*
|
||||
acquire( TrackerContext& ctx,
|
||||
|
@ -30,8 +30,6 @@ namespace Catch {
|
||||
|
||||
class TestRegistry : public ITestCaseRegistry {
|
||||
public:
|
||||
~TestRegistry() override = default;
|
||||
|
||||
void registerTest( Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker );
|
||||
|
||||
std::vector<TestCaseInfo*> const& getAllInfos() const override;
|
||||
|
@ -19,8 +19,6 @@ namespace Catch {
|
||||
public:
|
||||
JunitReporter(ReporterConfig&& _config);
|
||||
|
||||
~JunitReporter() override = default;
|
||||
|
||||
static std::string getDescription();
|
||||
|
||||
void testRunStarting(TestRunInfo const& runInfo) override;
|
||||
|
@ -25,8 +25,6 @@ namespace Catch {
|
||||
m_shouldStoreSuccesfulAssertions = false;
|
||||
}
|
||||
|
||||
~SonarQubeReporter() override = default;
|
||||
|
||||
static std::string getDescription() {
|
||||
using namespace std::string_literals;
|
||||
return "Reports test results in the Generic Test Data SonarQube XML format"s;
|
||||
|
@ -19,7 +19,6 @@ namespace Catch {
|
||||
StreamingReporterBase( CATCH_MOVE(config) ) {
|
||||
m_preferences.shouldReportAllAssertions = true;
|
||||
}
|
||||
~TAPReporter() override = default;
|
||||
|
||||
static std::string getDescription() {
|
||||
using namespace std::string_literals;
|
||||
|
Loading…
Reference in New Issue
Block a user