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,
20 CLEARANCE_COPPER_OTHER,
26 CLEARANCE_COPPER_KEEPOUT,
36extern const LutEnumStr<RuleID> rule_id_lut;
40 virtual UUID get_net_class(
const UUID &uu)
const
44 virtual int get_order(
int order)
const
48 virtual bool is_imported()
const
68 virtual RuleID get_id()
const = 0;
70 bool imported =
false;
76 virtual json serialize()
const;
77 virtual std::string get_brief(
const class Block *block =
nullptr,
class IPool *pool =
nullptr)
const = 0;
78 virtual bool is_match_all()
const
83 virtual bool can_export()
const
90 enum class SerializeMode { SERIALIZE, EXPORT };
95 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