Horizon
horizon-eda-1.3.0
src
pool
entity.hpp
1
#pragma once
2
#include "gate.hpp"
3
#include "nlohmann/json_fwd.hpp"
4
#include "unit.hpp"
5
#include "util/uuid.hpp"
6
#include <fstream>
7
#include <map>
8
#include <vector>
9
#include "util/file_version.hpp"
10
11
namespace
horizon {
12
using
json
=
nlohmann::json
;
13
14
class
Entity
{
15
private
:
16
Entity
(
const
UUID
&uu,
const
json
&,
class
IPool
&pool);
17
18
public
:
19
Entity
(
const
UUID
&uu);
20
21
static
Entity
new_from_file(
const
std::string &filename,
IPool
&pool);
22
UUID
uuid;
23
std::string name;
24
std::string manufacturer;
25
std::string prefix;
26
std::set<std::string> tags;
27
std::map<UUID, Gate> gates;
28
29
FileVersion
version;
30
json
serialize()
const
;
31
void
update_refs(
IPool
&pool);
32
UUID
get_uuid()
const
;
33
};
34
}
// namespace horizon
horizon::Entity
Definition:
entity.hpp:14
horizon::FileVersion
Definition:
file_version.hpp:8
horizon::IPool
Definition:
ipool.hpp:12
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
Generated by
1.8.20