1 /* 2 * Created by Phil on 5/8/2012. 3 * Copyright 2012 Two Blue Cubes Ltd. All rights reserved. 4 * 5 * Distributed under the Boost Software License, Version 1.0. (See accompanying 6 * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 */ 8 #ifndef TWOBLUECUBES_CATCH_IMPL_HPP_INCLUDED 9 #define TWOBLUECUBES_CATCH_IMPL_HPP_INCLUDED 10 11 // Collect all the implementation files together here 12 // These are the equivalent of what would usually be cpp files 13 14 #ifdef __clang__ 15 #pragma clang diagnostic push 16 #pragma clang diagnostic ignored "-Wweak-vtables" 17 #endif 18 19 #include "../catch_session.hpp" 20 #include "catch_registry_hub.hpp" 21 #include "catch_notimplemented_exception.hpp" 22 #include "catch_context_impl.hpp" 23 #include "catch_console_colour_impl.hpp" 24 #include "catch_generators_impl.hpp" 25 #include "catch_assertionresult.hpp" 26 #include "catch_test_case_info.hpp" 27 #include "catch_test_spec.hpp" 28 #include "catch_version.hpp" 29 #include "catch_message.hpp" 30 #include "catch_legacy_reporter_adapter.hpp" 31 #include "catch_timer.hpp" 32 #include "catch_common.hpp" 33 #include "catch_section.hpp" 34 #include "catch_debugger.hpp" 35 #include "catch_tostring.hpp" 36 #include "catch_result_builder.hpp" 37 #include "catch_tag_alias_registry.hpp" 38 #include "catch_test_case_tracker.hpp" 39 #include "catch_matchers_string.hpp" 40 41 #include "../reporters/catch_reporter_multi.hpp" 42 #include "../reporters/catch_reporter_xml.hpp" 43 #include "../reporters/catch_reporter_junit.hpp" 44 #include "../reporters/catch_reporter_console.hpp" 45 #include "../reporters/catch_reporter_compact.hpp" 46 47 namespace Catch { 48 // These are all here to avoid warnings about not having any out of line 49 // virtual methods ~NonCopyable()50 NonCopyable::~NonCopyable() {} ~IShared()51 IShared::~IShared() {} ~IStream()52 IStream::~IStream() CATCH_NOEXCEPT {} ~FileStream()53 FileStream::~FileStream() CATCH_NOEXCEPT {} ~CoutStream()54 CoutStream::~CoutStream() CATCH_NOEXCEPT {} ~DebugOutStream()55 DebugOutStream::~DebugOutStream() CATCH_NOEXCEPT {} ~StreamBufBase()56 StreamBufBase::~StreamBufBase() CATCH_NOEXCEPT {} ~IContext()57 IContext::~IContext() {} ~IResultCapture()58 IResultCapture::~IResultCapture() {} ~ITestCase()59 ITestCase::~ITestCase() {} ~ITestCaseRegistry()60 ITestCaseRegistry::~ITestCaseRegistry() {} ~IRegistryHub()61 IRegistryHub::~IRegistryHub() {} ~IMutableRegistryHub()62 IMutableRegistryHub::~IMutableRegistryHub() {} ~IExceptionTranslator()63 IExceptionTranslator::~IExceptionTranslator() {} ~IExceptionTranslatorRegistry()64 IExceptionTranslatorRegistry::~IExceptionTranslatorRegistry() {} ~IReporter()65 IReporter::~IReporter() {} ~IReporterFactory()66 IReporterFactory::~IReporterFactory() {} ~IReporterRegistry()67 IReporterRegistry::~IReporterRegistry() {} ~IStreamingReporter()68 IStreamingReporter::~IStreamingReporter() {} ~AssertionStats()69 AssertionStats::~AssertionStats() {} ~SectionStats()70 SectionStats::~SectionStats() {} ~TestCaseStats()71 TestCaseStats::~TestCaseStats() {} ~TestGroupStats()72 TestGroupStats::~TestGroupStats() {} ~TestRunStats()73 TestRunStats::~TestRunStats() {} ~SectionNode()74 CumulativeReporterBase::SectionNode::~SectionNode() {} ~CumulativeReporterBase()75 CumulativeReporterBase::~CumulativeReporterBase() {} 76 ~StreamingReporterBase()77 StreamingReporterBase::~StreamingReporterBase() {} ~ConsoleReporter()78 ConsoleReporter::~ConsoleReporter() {} ~CompactReporter()79 CompactReporter::~CompactReporter() {} ~IRunner()80 IRunner::~IRunner() {} ~IMutableContext()81 IMutableContext::~IMutableContext() {} ~IConfig()82 IConfig::~IConfig() {} ~XmlReporter()83 XmlReporter::~XmlReporter() {} ~JunitReporter()84 JunitReporter::~JunitReporter() {} ~TestRegistry()85 TestRegistry::~TestRegistry() {} ~FreeFunctionTestCase()86 FreeFunctionTestCase::~FreeFunctionTestCase() {} ~IGeneratorInfo()87 IGeneratorInfo::~IGeneratorInfo() {} ~IGeneratorsForTest()88 IGeneratorsForTest::~IGeneratorsForTest() {} ~WildcardPattern()89 WildcardPattern::~WildcardPattern() {} ~Pattern()90 TestSpec::Pattern::~Pattern() {} ~NamePattern()91 TestSpec::NamePattern::~NamePattern() {} ~TagPattern()92 TestSpec::TagPattern::~TagPattern() {} ~ExcludedPattern()93 TestSpec::ExcludedPattern::~ExcludedPattern() {} ~MatcherUntypedBase()94 Matchers::Impl::MatcherUntypedBase::~MatcherUntypedBase() {} 95 dummy()96 void Config::dummy() {} 97 98 namespace TestCaseTracking { ~ITracker()99 ITracker::~ITracker() {} ~TrackerBase()100 TrackerBase::~TrackerBase() {} ~SectionTracker()101 SectionTracker::~SectionTracker() {} ~IndexTracker()102 IndexTracker::~IndexTracker() {} 103 } 104 } 105 106 #ifdef __clang__ 107 #pragma clang diagnostic pop 108 #endif 109 110 #endif // TWOBLUECUBES_CATCH_IMPL_HPP_INCLUDED 111