Horizon
Loading...
Searching...
No Matches
src
rules
rule_match_keepout.hpp
1
#pragma once
2
#include "nlohmann/json_fwd.hpp"
3
#include "util/uuid.hpp"
4
5
namespace
horizon {
6
using
json =
nlohmann::json
;
7
8
class
RuleMatchKeepout {
9
public
:
10
RuleMatchKeepout();
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
horizon::Block
A block is one level of hierarchy in the netlist.
Definition
block.hpp:29
horizon::IPool
Definition
ipool.hpp:15
horizon::KeepoutContour
Definition
keepout.hpp:26
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition
uuid.hpp:16
nlohmann::json
basic_json<> json
default JSON class
Definition
json_fwd.hpp:62
Generated by
1.15.0