2 #include "util/uuid.hpp"
3 #include "nlohmann/json_fwd.hpp"
4 #include "rules/rules.hpp"
5 #include "rule_single_pin_net.hpp"
10 class SchematicRules :
public Rules {
14 void load_from_json(
const json &j)
override;
15 RulesCheckResult check(RuleID
id,
const class Schematic &sch,
class RulesCheckCache &cache)
const;
16 void apply(RuleID
id,
class Schematic *sch);
17 json serialize()
const override;
18 std::set<RuleID> get_rule_ids()
const override;
19 const Rule *get_rule(RuleID
id)
const override;
20 const Rule *get_rule(RuleID
id,
const UUID &uu)
const override;
21 std::map<UUID, const Rule *> get_rules(RuleID
id)
const override;
22 void remove_rule(RuleID
id,
const UUID &uu)
override;
23 Rule *add_rule(RuleID
id)
override;
26 RuleSinglePinNet rule_single_pin_net;
28 RulesCheckResult check_single_pin_net(
const class Schematic &sch,
class RulesCheckCache &cache)
const;