Template Class MatchAllOfGeneric

Inheritance Relationships

Base Type

Class Documentation

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

Public Functions

MatchAllOfGeneric(MatchAllOfGeneric const&) = delete
MatchAllOfGeneric &operator=(MatchAllOfGeneric const&) = delete
MatchAllOfGeneric(MatchAllOfGeneric&&) = default
MatchAllOfGeneric &operator=(MatchAllOfGeneric&&) = default
inline MatchAllOfGeneric(MatcherTs const&... matchers)
inline explicit MatchAllOfGeneric(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 MatchAllOfGeneric<MatcherTs..., MatchersRHS...> operator&&(MatchAllOfGeneric<MatcherTs...> &&lhs, MatchAllOfGeneric<MatchersRHS...> &&rhs)

Avoids type nesting for GenericAllOf && GenericAllOf case.

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

Avoids type nesting for GenericAllOf && some matcher case.

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

Avoids type nesting for some matcher && GenericAllOf case.