mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	Some template instantiation reductions
This commit is contained in:
		@@ -107,16 +107,18 @@ namespace Catch {
 | 
			
		||||
        return std::any_of( m_filters.begin(), m_filters.end(), [&]( Filter const& f ){ return f.matches( testCase ); } );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    TestSpec::Matches TestSpec::matchesByFilter( std::vector<TestCaseHandle> const& testCases, IConfig const& config ) const
 | 
			
		||||
    {
 | 
			
		||||
        Matches matches( m_filters.size() );
 | 
			
		||||
        std::transform( m_filters.begin(), m_filters.end(), matches.begin(), [&]( Filter const& filter ){
 | 
			
		||||
    TestSpec::Matches TestSpec::matchesByFilter( std::vector<TestCaseHandle> const& testCases, IConfig const& config ) const {
 | 
			
		||||
        Matches matches;
 | 
			
		||||
        matches.reserve( m_filters.size() );
 | 
			
		||||
        for ( auto const& filter : m_filters ) {
 | 
			
		||||
            std::vector<TestCaseHandle const*> currentMatches;
 | 
			
		||||
            for( auto const& test : testCases )
 | 
			
		||||
                if( isThrowSafe( test, config ) && filter.matches( test.getTestCaseInfo() ) )
 | 
			
		||||
            for ( auto const& test : testCases )
 | 
			
		||||
                if ( isThrowSafe( test, config ) &&
 | 
			
		||||
                     filter.matches( test.getTestCaseInfo() ) )
 | 
			
		||||
                    currentMatches.emplace_back( &test );
 | 
			
		||||
            return FilterMatch{ extractFilterName(filter), currentMatches };
 | 
			
		||||
        } );
 | 
			
		||||
            matches.push_back(
 | 
			
		||||
                FilterMatch{ extractFilterName( filter ), currentMatches } );
 | 
			
		||||
        }
 | 
			
		||||
        return matches;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,9 +21,9 @@ namespace Catch {
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        kvPair splitKVPair(StringRef kvString) {
 | 
			
		||||
            auto splitPos = static_cast<size_t>( std::distance(
 | 
			
		||||
                kvString.begin(),
 | 
			
		||||
                std::find( kvString.begin(), kvString.end(), '=' ) ) );
 | 
			
		||||
            auto splitPos = static_cast<size_t>(
 | 
			
		||||
                std::find( kvString.begin(), kvString.end(), '=' ) -
 | 
			
		||||
                kvString.begin() );
 | 
			
		||||
 | 
			
		||||
            return { kvString.substr( 0, splitPos ),
 | 
			
		||||
                     kvString.substr( splitPos + 1, kvString.size() ) };
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stringref.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <ostream>
 | 
			
		||||
#include <cstring>
 | 
			
		||||
#include <cctype>
 | 
			
		||||
@@ -32,9 +31,9 @@ namespace Catch {
 | 
			
		||||
        return s.find( infix ) != std::string::npos;
 | 
			
		||||
    }
 | 
			
		||||
    void toLowerInPlace( std::string& s ) {
 | 
			
		||||
        std::transform( s.begin(), s.end(), s.begin(), []( char c ) {
 | 
			
		||||
            return toLower( c );
 | 
			
		||||
        } );
 | 
			
		||||
        for ( char& c : s ) {
 | 
			
		||||
            c = toLower( c );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    std::string toLower( std::string const& s ) {
 | 
			
		||||
        std::string lc = s;
 | 
			
		||||
 
 | 
			
		||||
@@ -171,7 +171,7 @@ private:
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        const auto itEnd = messages.cend();
 | 
			
		||||
        const auto N = static_cast<std::size_t>(std::distance(itMessage, itEnd));
 | 
			
		||||
        const auto N = static_cast<std::size_t>(itEnd - itMessage);
 | 
			
		||||
 | 
			
		||||
        stream << colourImpl->guardColour( colour ) << " with "
 | 
			
		||||
               << pluralise( N, "message"_sr ) << ':';
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,6 @@
 | 
			
		||||
#include <catch2/reporters/catch_reporter_helpers.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <iterator>
 | 
			
		||||
#include <ostream>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
@@ -165,7 +164,7 @@ namespace Catch {
 | 
			
		||||
 | 
			
		||||
                // using messages.end() directly (or auto) yields compilation error:
 | 
			
		||||
                std::vector<MessageInfo>::const_iterator itEnd = messages.end();
 | 
			
		||||
                const std::size_t N = static_cast<std::size_t>(std::distance(itMessage, itEnd));
 | 
			
		||||
                const std::size_t N = static_cast<std::size_t>(itEnd - itMessage);
 | 
			
		||||
 | 
			
		||||
                stream << colourImpl->guardColour( colour ) << " with "
 | 
			
		||||
                       << pluralise( N, "message"_sr ) << ':';
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user