Horizon
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
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:166
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition:
zip.hpp:108
Generated by
1.8.20