diff --git a/src/catch2/catch_matchers_templates.hpp b/src/catch2/catch_matchers_templates.hpp index 43efc5b0..b8f6e852 100644 --- a/src/catch2/catch_matchers_templates.hpp +++ b/src/catch2/catch_matchers_templates.hpp @@ -108,6 +108,11 @@ namespace Matchers { template struct MatchAllOfGeneric final : MatcherGenericBase { + MatchAllOfGeneric(MatchAllOfGeneric const&) = delete; + MatchAllOfGeneric& operator=(MatchAllOfGeneric const&) = delete; + MatchAllOfGeneric(MatchAllOfGeneric&&) = default; + MatchAllOfGeneric& operator=(MatchAllOfGeneric&&) = default; + MatchAllOfGeneric(MatcherTs const&... matchers) : m_matchers{std::addressof(matchers)...} {} explicit MatchAllOfGeneric(std::array matchers) : m_matchers{matchers} {} @@ -126,6 +131,11 @@ namespace Matchers { template struct MatchAnyOfGeneric final : MatcherGenericBase { + MatchAnyOfGeneric(MatchAnyOfGeneric const&) = delete; + MatchAnyOfGeneric& operator=(MatchAnyOfGeneric const&) = delete; + MatchAnyOfGeneric(MatchAnyOfGeneric&&) = default; + MatchAnyOfGeneric& operator=(MatchAnyOfGeneric&&) = default; + MatchAnyOfGeneric(MatcherTs const&... matchers) : m_matchers{std::addressof(matchers)...} {} explicit MatchAnyOfGeneric(std::array matchers) : m_matchers{matchers} {} @@ -144,6 +154,11 @@ namespace Matchers { template struct MatchNotOfGeneric final : MatcherGenericBase { + MatchNotOfGeneric(MatchNotOfGeneric const&) = delete; + MatchNotOfGeneric& operator=(MatchNotOfGeneric const&) = delete; + MatchNotOfGeneric(MatchNotOfGeneric&&) = default; + MatchNotOfGeneric& operator=(MatchNotOfGeneric&&) = default; + explicit MatchNotOfGeneric(MatcherT const& matcher) : m_matcher{matcher} {} template