From 45d4096756ef3a59af2f0147d4e869ca669dd94a Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Tue, 21 Feb 2017 15:52:03 +0000 Subject: [PATCH] Generalised Matchers so objects and comparators can be different types --- include/internal/catch_matchers.hpp | 28 ++++++++++++------------ include/internal/catch_matchers_string.h | 6 ++--- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/internal/catch_matchers.hpp b/include/internal/catch_matchers.hpp index 897bb3b1..d6118f89 100644 --- a/include/internal/catch_matchers.hpp +++ b/include/internal/catch_matchers.hpp @@ -33,14 +33,14 @@ namespace Matchers { MatcherUntypedBase& operator = (MatcherUntypedBase const&); }; - template + template struct MatcherBase : MatcherUntypedBase { - virtual bool match( ArgT const& arg ) const = 0; + virtual bool match( ObjectT const& arg ) const = 0; - MatchAllOf operator && ( MatcherBase const& other ) const; - MatchAnyOf operator || ( MatcherBase const& other ) const; - MatchNotOf operator ! () const; + MatchAllOf operator && ( MatcherBase const& other ) const; + MatchAnyOf operator || ( MatcherBase const& other ) const; + MatchNotOf operator ! () const; }; template @@ -118,17 +118,17 @@ namespace Matchers { MatcherBase const& m_underlyingMatcher; }; - template - MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { - return MatchAllOf() && *this && other; + template + MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { + return MatchAllOf() && *this && other; } - template - MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { - return MatchAnyOf() || *this || other; + template + MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { + return MatchAnyOf() || *this || other; } - template - MatchNotOf MatcherBase::operator ! () const { - return MatchNotOf( *this ); + template + MatchNotOf MatcherBase::operator ! () const { + return MatchNotOf( *this ); } } // namespace Impl diff --git a/include/internal/catch_matchers_string.h b/include/internal/catch_matchers_string.h index 87476b12..2a6d3ba0 100644 --- a/include/internal/catch_matchers_string.h +++ b/include/internal/catch_matchers_string.h @@ -5,8 +5,8 @@ * 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_MATCHERS_STRING_HPP_INCLUDED -#define TWOBLUECUBES_CATCH_MATCHERS_STRING_HPP_INCLUDED +#ifndef TWOBLUECUBES_CATCH_MATCHERS_STRING_H_INCLUDED +#define TWOBLUECUBES_CATCH_MATCHERS_STRING_H_INCLUDED #include "catch_matchers.hpp" @@ -64,4 +64,4 @@ namespace Matchers { } // namespace Matchers } // namespace Catch -#endif // TWOBLUECUBES_CATCH_MATCHERS_STRING_HPP_INCLUDED +#endif // TWOBLUECUBES_CATCH_MATCHERS_STRING_H_INCLUDED