2 #include "nlohmann/json_fwd.hpp"
3 #include "rule_match.hpp"
4 #include "util/uuid.hpp"
5 #include "common/lut.hpp"
13 CLEARANCE_SILKSCREEN_EXPOSED_COPPER,
19 CLEARANCE_COPPER_OTHER,
24 CLEARANCE_COPPER_KEEPOUT,
31 extern const LutEnumStr<RuleID> rule_id_lut;
35 virtual UUID get_net_class(
const UUID &uu)
const
39 virtual int get_order(
int order)
const
43 virtual bool is_imported()
const
63 RuleID
id = RuleID::NONE;
65 bool imported =
false;
71 virtual json serialize()
const;
72 virtual std::string get_brief(
const class Block *block =
nullptr)
const = 0;
73 virtual bool is_match_all()
const
78 virtual bool can_export()
const
85 enum class SerializeMode { SERIALIZE, EXPORT };
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
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:166
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61