Horizon
horizon-eda-1.3.0
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
class
Widths
{
10
public
:
11
Widths
();
12
Widths
(
const
json
&j);
13
json
serialize()
const
;
14
15
uint64_t
min = .1_mm;
16
uint64_t
max = 10_mm;
17
uint64_t
def = .2_mm;
18
};
19
20
RuleTrackWidth
(
const
UUID
&uu);
21
RuleTrackWidth
(
const
UUID
&uu,
const
json
&j);
22
json
serialize()
const override
;
23
24
std::string get_brief(
const
class
Block
*block =
nullptr
)
const override
;
25
bool
is_match_all()
const override
;
26
27
RuleMatch
match;
28
std::map<int, Widths> widths;
29
};
30
}
// namespace horizon
horizon::RuleMatch
Definition:
rule_match.hpp:8
horizon::Rule
Definition:
rule.hpp:33
horizon::RuleTrackWidth
Definition:
rule_track_width.hpp:7
horizon::Block
A block is one level of hierarchy in the netlist.
Definition:
block.hpp:25
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:166
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition:
uuid.hpp:16
horizon::RuleTrackWidth::Widths
Definition:
rule_track_width.hpp:9
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition:
zip.hpp:108
Generated by
1.8.20