2 #include "nlohmann/json_fwd.hpp" 3 #include "rule_clearance_copper.hpp" 4 #include "rule_clearance_copper_other.hpp" 5 #include "rule_clearance_silk_exp_copper.hpp" 6 #include "rule_diffpair.hpp" 7 #include "rule_hole_size.hpp" 8 #include "rule_parameters.hpp" 9 #include "rule_plane.hpp" 10 #include "rule_track_width.hpp" 11 #include "rule_via.hpp" 12 #include "rules/rules.hpp" 13 #include "util/uuid.hpp" 22 void load_from_json(
const json &j);
25 json serialize()
const;
26 std::set<RuleID> get_rule_ids()
const;
27 Rule *get_rule(RuleID
id);
28 Rule *get_rule(RuleID
id,
const UUID &uu);
29 std::map<UUID, Rule *> get_rules(RuleID
id);
30 void remove_rule(RuleID
id,
const UUID &uu);
31 Rule *add_rule(RuleID
id);
32 void cleanup(
const class Block *block);
34 uint64_t get_default_track_width(
class Net *net,
int layer);
38 uint64_t get_max_clearance();
42 UUID get_via_padstack_uuid(
class Net *net);
43 const ParameterSet &get_via_parameter_set(
class Net *net);
48 std::map<UUID, RuleHoleSize> rule_hole_size;
49 std::map<UUID, RuleTrackWidth> rule_track_width;
50 std::map<UUID, RuleClearanceCopper> rule_clearance_copper;
51 std::map<UUID, RuleVia> rule_via;
52 std::map<UUID, RuleClearanceCopperOther> rule_clearance_copper_other;
53 std::map<UUID, RulePlane> rule_plane;
54 std::map<UUID, RuleDiffpair> rule_diffpair;
Definition: rule_clearance_silk_exp_copper.hpp:6
Definition: rule_parameters.hpp:6
a class to store JSON values
Definition: json.hpp:161
Definition: board_rules.hpp:18
Definition: via_padstack_provider.hpp:13
A block is one level of hierarchy in the netlist.
Definition: block.hpp:25
Definition: rule_diffpair.hpp:7
Definition: rule_clearance_copper_other.hpp:7
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: net_class.hpp:10
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
Definition: rule_clearance_copper.hpp:7