| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- /*
 
-  *  Created by Phil on 7/1/2011
 
-  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
 
-  *
 
-  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 
-  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-  */
 
- #ifndef TWOBLUECUBES_CATCH_TEST_CASE_REGISTRY_IMPL_HPP_INCLUDED
 
- #define TWOBLUECUBES_CATCH_TEST_CASE_REGISTRY_IMPL_HPP_INCLUDED
 
- #include "catch_test_registry.h"
 
- #include "catch_test_spec.h"
 
- #include "catch_interfaces_config.h"
 
- #include <vector>
 
- #include <set>
 
- #include <algorithm>
 
- #include <ios>
 
- namespace Catch {
 
-     class TestCase;
 
-     struct IConfig;
 
-     std::vector<TestCase> sortTests( IConfig const& config, std::vector<TestCase> const& unsortedTestCases );
 
-     bool isThrowSafe( TestCase const& testCase, IConfig const& config );
 
-     bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config );
 
-     void enforceNoDuplicateTestCases( std::vector<TestCase> const& functions );
 
-     std::vector<TestCase> filterTests( std::vector<TestCase> const& testCases, TestSpec const& testSpec, IConfig const& config );
 
-     std::vector<TestCase> const& getAllTestCasesSorted( IConfig const& config );
 
-     class TestRegistry : public ITestCaseRegistry {
 
-     public:
 
-         virtual ~TestRegistry() = default;
 
-         virtual void registerTest( TestCase const& testCase );
 
-         std::vector<TestCase> const& getAllTests() const override;
 
-         std::vector<TestCase> const& getAllTestsSorted( IConfig const& config ) const override;
 
-     private:
 
-         std::vector<TestCase> m_functions;
 
-         mutable RunTests::InWhatOrder m_currentSortOrder = RunTests::InDeclarationOrder;
 
-         mutable std::vector<TestCase> m_sortedFunctions;
 
-         std::size_t m_unnamedCount = 0;
 
-         std::ios_base::Init m_ostreamInit; // Forces cout/ cerr to be initialised
 
-     };
 
-     ///////////////////////////////////////////////////////////////////////////
 
-     class TestInvokerAsFunction : public ITestInvoker {
 
-         void(*m_testAsFunction)();
 
-     public:
 
-         TestInvokerAsFunction( void(*testAsFunction)() ) noexcept;
 
-         void invoke() const override;
 
-     };
 
-     std::string extractClassName( StringRef const& classOrQualifiedMethodName );
 
-     ///////////////////////////////////////////////////////////////////////////
 
- } // end namespace Catch
 
- #endif // TWOBLUECUBES_CATCH_TEST_CASE_REGISTRY_IMPL_HPP_INCLUDED
 
 
  |