28 virtual bool matches(
TestCaseInfo const& testCase )
const = 0;
30 using PatternPtr = std::shared_ptr<Pattern>;
32 class NamePattern :
public Pattern {
34 NamePattern( std::string
const&
name );
35 virtual ~NamePattern();
36 bool matches(
TestCaseInfo const& testCase )
const override;
41 class TagPattern :
public Pattern {
43 TagPattern( std::string
const& tag );
44 virtual ~TagPattern();
45 bool matches(
TestCaseInfo const& testCase )
const override;
50 class ExcludedPattern :
public Pattern {
52 ExcludedPattern( PatternPtr
const& underlyingPattern );
53 virtual ~ExcludedPattern();
54 bool matches(
TestCaseInfo const& testCase )
const override;
56 PatternPtr m_underlyingPattern;
60 std::vector<PatternPtr> m_patterns;
70 std::vector<Filter> m_filters;