Class ExpressionFilter

Nested Relationships

Nested Types

Class Documentation

class ExpressionFilter

A predicate on expressions, composed of rules that are combined either conjunctively (default) or disjunctively

Public Functions

ExpressionFilter() = default
bool matches(const Expr&) const
Returns:

Whether the given expression satisfies this filter. Without any rules, this is the case if and only if all rules are required.

void set_require_all(bool require)
void add_rule(std::unique_ptr<Rule> rule)
struct Rule

Subclassed by sequant::ContainsRule, sequant::IndexCountRule, sequant::IndexSpaceCountRule, sequant::LabelRule

Public Functions

virtual ~Rule() = default
virtual bool matches(const Expr &expr) const = 0

Public Members

bool negate = false