Horizon
Loading...
Searching...
No Matches
src
board
rule_track_width.hpp
1
#pragma once
2
#include "common/common.hpp"
3
#include "rules/rule.hpp"
4
#include "rules/rule_match.hpp"
5
6
namespace
horizon {
7
class
RuleTrackWidth :
public
Rule {
8
public
:
9
static
const
auto
id
= RuleID::TRACK_WIDTH;
10
RuleID get_id()
const override
11
{
12
return
id;
13
}
14
15
class
Widths {
16
public
:
17
Widths();
18
Widths(
const
json &j);
19
json serialize()
const
;
20
21
uint64_t min = .1_mm;
22
uint64_t max = 10_mm;
23
uint64_t def = .2_mm;
24
};
25
26
RuleTrackWidth(
const
UUID
&uu);
27
RuleTrackWidth(
const
UUID
&uu,
const
json &j,
const
RuleImportMap
&import_map);
28
json serialize()
const override
;
29
30
std::string get_brief(
const
class
Block
*block =
nullptr
,
class
IPool
*pool =
nullptr
)
const override
;
31
bool
is_match_all()
const override
;
32
bool
can_export()
const override
;
33
34
RuleMatch
match;
35
std::map<int, Widths> widths;
36
};
37
}
// 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::RuleImportMap
Definition
rule.hpp:38
horizon::RuleMatch
Definition
rule_match.hpp:9
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition
uuid.hpp:16
Generated by
1.15.0