Some template instantiation reductions

This commit is contained in:
Martin Hořeňovský 2023-04-29 14:29:59 +02:00
parent fe64c28925
commit 10f0a58643
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
5 changed files with 18 additions and 18 deletions

View File

@ -107,16 +107,18 @@ namespace Catch {
return std::any_of( m_filters.begin(), m_filters.end(), [&]( Filter const& f ){ return f.matches( testCase ); } ); 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 TestSpec::Matches TestSpec::matchesByFilter( std::vector<TestCaseHandle> const& testCases, IConfig const& config ) const {
{ Matches matches;
Matches matches( m_filters.size() ); matches.reserve( m_filters.size() );
std::transform( m_filters.begin(), m_filters.end(), matches.begin(), [&]( Filter const& filter ){ for ( auto const& filter : m_filters ) {
std::vector<TestCaseHandle const*> currentMatches; std::vector<TestCaseHandle const*> currentMatches;
for( auto const& test : testCases ) for ( auto const& test : testCases )
if( isThrowSafe( test, config ) && filter.matches( test.getTestCaseInfo() ) ) if ( isThrowSafe( test, config ) &&
filter.matches( test.getTestCaseInfo() ) )
currentMatches.emplace_back( &test ); currentMatches.emplace_back( &test );
return FilterMatch{ extractFilterName(filter), currentMatches }; matches.push_back(
} ); FilterMatch{ extractFilterName( filter ), currentMatches } );
}
return matches; return matches;
} }

View File

@ -21,9 +21,9 @@ namespace Catch {
}; };
kvPair splitKVPair(StringRef kvString) { kvPair splitKVPair(StringRef kvString) {
auto splitPos = static_cast<size_t>( std::distance( auto splitPos = static_cast<size_t>(
kvString.begin(), std::find( kvString.begin(), kvString.end(), '=' ) -
std::find( kvString.begin(), kvString.end(), '=' ) ) ); kvString.begin() );
return { kvString.substr( 0, splitPos ), return { kvString.substr( 0, splitPos ),
kvString.substr( splitPos + 1, kvString.size() ) }; kvString.substr( splitPos + 1, kvString.size() ) };

View File

@ -8,7 +8,6 @@
#include <catch2/internal/catch_string_manip.hpp> #include <catch2/internal/catch_string_manip.hpp>
#include <catch2/internal/catch_stringref.hpp> #include <catch2/internal/catch_stringref.hpp>
#include <algorithm>
#include <ostream> #include <ostream>
#include <cstring> #include <cstring>
#include <cctype> #include <cctype>
@ -32,9 +31,9 @@ namespace Catch {
return s.find( infix ) != std::string::npos; return s.find( infix ) != std::string::npos;
} }
void toLowerInPlace( std::string& s ) { void toLowerInPlace( std::string& s ) {
std::transform( s.begin(), s.end(), s.begin(), []( char c ) { for ( char& c : s ) {
return toLower( c ); c = toLower( c );
} ); }
} }
std::string toLower( std::string const& s ) { std::string toLower( std::string const& s ) {
std::string lc = s; std::string lc = s;

View File

@ -171,7 +171,7 @@ private:
return; return;
const auto itEnd = messages.cend(); 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 " stream << colourImpl->guardColour( colour ) << " with "
<< pluralise( N, "message"_sr ) << ':'; << pluralise( N, "message"_sr ) << ':';

View File

@ -14,7 +14,6 @@
#include <catch2/reporters/catch_reporter_helpers.hpp> #include <catch2/reporters/catch_reporter_helpers.hpp>
#include <algorithm> #include <algorithm>
#include <iterator>
#include <ostream> #include <ostream>
namespace Catch { namespace Catch {
@ -165,7 +164,7 @@ namespace Catch {
// using messages.end() directly (or auto) yields compilation error: // using messages.end() directly (or auto) yields compilation error:
std::vector<MessageInfo>::const_iterator itEnd = messages.end(); 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 " stream << colourImpl->guardColour( colour ) << " with "
<< pluralise( N, "message"_sr ) << ':'; << pluralise( N, "message"_sr ) << ':';