Horizon
horizon-eda-1.3.0
src
package
package_rules.hpp
1
#pragma once
2
#include "nlohmann/json_fwd.hpp"
3
#include "rule_package_checks.hpp"
4
#include "rule_clearance_package.hpp"
5
#include "rules/rules.hpp"
6
#include "util/uuid.hpp"
7
8
namespace
horizon {
9
using
json
=
nlohmann::json
;
10
11
class
PackageRules
:
public
Rules
{
12
public
:
13
PackageRules
();
14
15
void
load_from_json(
const
json
&j)
override
;
16
RulesCheckResult
check(RuleID
id
,
const
class
Package
&pkg)
const
;
17
json
serialize()
const override
;
18
std::set<RuleID> get_rule_ids()
const override
;
19
const
Rule
*get_rule(RuleID
id
)
const override
;
20
const
Rule
*get_rule(RuleID
id
,
const
UUID
&uu)
const override
;
21
std::map<UUID, const Rule *> get_rules(RuleID
id
)
const override
;
22
void
remove_rule(RuleID
id
,
const
UUID
&uu)
override
;
23
Rule
*add_rule(RuleID
id
)
override
;
24
25
private
:
26
RulePackageChecks
rule_package_checks;
27
RuleClearancePackage
rule_clearance_package;
28
29
RulesCheckResult
check_package(
const
class
Package
&pkg)
const
;
30
RulesCheckResult
check_clearance(
const
class
Package
&pkg)
const
;
31
};
32
}
// namespace horizon
horizon::PackageRules
Definition:
package_rules.hpp:11
horizon::Rules
Definition:
rules.hpp:48
horizon::Rule
Definition:
rule.hpp:33
horizon::RuleClearancePackage
Definition:
rule_clearance_package.hpp:6
horizon::Package
Definition:
package.hpp:29
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
nlohmann::json
basic_json<> json
default JSON class
Definition:
json_fwd.hpp:61
horizon::RulesCheckResult
Definition:
rules.hpp:34
horizon::RulePackageChecks
Definition:
rule_package_checks.hpp:6
Generated by
1.8.20