Horizon
Loading...
Searching...
No Matches
rule_match_keepout.hpp
1#pragma once
2#include "nlohmann/json_fwd.hpp"
3#include "util/uuid.hpp"
4
5namespace horizon {
6using json = nlohmann::json;
7
9public:
11 RuleMatchKeepout(const json &j);
12 json serialize() const;
13 std::string get_brief(const class Block *block = nullptr, class IPool *pool = nullptr) const;
14 void cleanup(const class Block *block);
15 bool match(const class KeepoutContour *contour) const;
16
17 enum class Mode { ALL, KEEPOUT_CLASS, COMPONENT };
18 Mode mode = Mode::ALL;
19
20 std::string keepout_class;
21 UUID component;
22};
23} // namespace horizon
A block is one level of hierarchy in the netlist.
Definition block.hpp:29
Definition ipool.hpp:15
Definition keepout.hpp:26
Definition rule_match_keepout.hpp:8
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