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,
25 CLEARANCE_COPPER_KEEPOUT,
32 extern const LutEnumStr<RuleID> rule_id_lut;
36 virtual UUID get_net_class(
const UUID &uu)
const
40 virtual int get_order(
int order)
const
44 virtual bool is_imported()
const
64 virtual RuleID get_id()
const = 0;
66 bool imported =
false;
72 virtual json serialize()
const;
73 virtual std::string get_brief(
const class Block *block =
nullptr,
class IPool *pool =
nullptr)
const = 0;
74 virtual bool is_match_all()
const
79 virtual bool can_export()
const
86 enum class SerializeMode { SERIALIZE, EXPORT };
91 static std::string layer_to_string(
int layer);
A block is one level of hierarchy in the netlist.
Definition: block.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