class PolymorphicMatcher

Declaration

template <template <typename T, typename... Params> class... MatcherT,
          typename ReturnTypesF,
          typename... ParamTypes>
class PolymorphicMatcher { /* full declaration omitted */ };

Description

A PolymorphicMatcher <MatcherT , P1, ..., PN> object can be created from N parameters p1, ..., pN (of type P1, ..., PN) and used as a Matcher <T > where a MatcherT <T , P1, ..., PN>(p1, ..., pN) can be constructed. For example: - PolymorphicMatcher <IsDefinitionMatcher >() creates an object that can be used as a Matcher <T > for any type T where an IsDefinitionMatcher <T >() can be constructed. - PolymorphicMatcher <ValueEqualsMatcher , int>(42) creates an object that can be used as a Matcher <T > for any type T where a ValueEqualsMatcher <T , int>(42) can be constructed.

Declared at: clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1579

Templates

template class MatcherT
ReturnTypesF
ParamTypes

Member Variables

private std::tuple<ParamTypes...> Params

Method Overview

Methods

PolymorphicMatcher<MatcherT,
                   ReturnTypesF,
                   ParamTypes...>(
    const ParamTypes&... Params)

Declared at: clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1581

Parameters

const ParamTypes&... Params

template <typename T>
Matcher<T> operator Matcher<type - parameter - 1 -
                            0>() const&

Declared at: clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1585

Templates

T

template <typename T>
Matcher<T>
operator Matcher<type - parameter - 1 - 0>() &&

Declared at: clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1591

Templates

T