13#include <initializer_list>
33 for (
auto &
rule : d_rules) {
39 if (
rule ==
nullptr) {
40 throw std::runtime_error(
"No sequence rule provided");
42 d_rules.push_back(
rule);
58 for (
const auto &
rule : d_rules) {
60 int value =
rule->recursiveCompare(
o1,
o2);
73 for (
const auto &
rule : d_rules) {
75 int value =
rule->recursiveCompare(a, b);
86 std::vector<const SequenceRule *> d_rules;
Rules(std::initializer_list< SequenceRule * > rules)
int getComparision(const Edge *a, const Edge *b, bool deep) const override
const Sort * getSorter() const override
void add(SequenceRule *rule)
int getNumSubRules() const
int compare(const Edge *o1, const Edge *o2) const override
std::unique_ptr< const Sort > dp_sorter
void setSorter(const Sort *sorter)
bool rdvalue_is(const RDValue_cast_t)