Template Class MatchAnyOfGeneric

Inheritance Relationships

Base Type

Class Documentation

template<typename ...MatcherTs>
class MatchAnyOfGeneric : public Catch::Matchers::MatcherGenericBase

Public Functions

MatchAnyOfGeneric(MatchAnyOfGeneric const&) = delete
MatchAnyOfGeneric &operator=(MatchAnyOfGeneric const&) = delete
MatchAnyOfGeneric(MatchAnyOfGeneric&&) = default
MatchAnyOfGeneric &operator=(MatchAnyOfGeneric&&) = default
inline MatchAnyOfGeneric(MatcherTs const&... matchers)
inline explicit MatchAnyOfGeneric(std::array<void const*, sizeof...(MatcherTs)> matchers)
template<typename Arg>
inline bool match(Arg &&arg) const
inline virtual std::string describe() const override

Public Members

std::array<void const*, sizeof...(MatcherTs)> m_matchers

Friends

template<typename ...MatchersRHS>
inline friend MatchAnyOfGeneric<MatcherTs..., MatchersRHS...> operator||(MatchAnyOfGeneric<MatcherTs...> &&lhs, MatchAnyOfGeneric<MatchersRHS...> &&rhs)

Avoids type nesting for GenericAnyOf || GenericAnyOf case.

template<typename MatcherRHS>
inline friend std::enable_if_t<is_matcher<MatcherRHS>::value, MatchAnyOfGeneric<MatcherTs..., MatcherRHS>> operator||(MatchAnyOfGeneric<MatcherTs...> &&lhs, MatcherRHS const &rhs)

Avoids type nesting for GenericAnyOf || some matcher case.

template<typename MatcherLHS>
inline friend std::enable_if_t<is_matcher<MatcherLHS>::value, MatchAnyOfGeneric<MatcherLHS, MatcherTs...>> operator||(MatcherLHS const &lhs, MatchAnyOfGeneric<MatcherTs...> &&rhs)

Avoids type nesting for some matcher || GenericAnyOf case.