2#include "util/uuid.hpp"
3#include "nlohmann/json_fwd.hpp"
4#include "rules/rules.hpp"
5#include "rule_connectivity.hpp"
14 void load_from_json(
const json &j)
override;
16 void apply(RuleID
id,
class Schematic *sch);
17 json serialize()
const override;
18 std::vector<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;
Definition blocks_schematic.hpp:8
Definition rule_connectivity.hpp:5
Definition schematic_rules.hpp:10
A Schematic is the visual representation of a Block.
Definition schematic.hpp:29
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62