2 #include "util/uuid.hpp"
3 #include "util/uuid_ptr.hpp"
8 #include "nlohmann/json_fwd.hpp"
9 #include "util/file_version.hpp"
17 const std::string empty;
31 static Part new_from_file(
const std::string &filename,
IPool &pool);
32 static unsigned int get_app_version();
35 enum class Attribute { MPN, VALUE, MANUFACTURER, DATASHEET, DESCRIPTION };
36 std::map<Attribute, std::pair<bool, std::string>> attributes;
37 std::map<UUID, std::string> orderable_MPNs;
38 const std::string &get_attribute(Attribute a)
const;
39 const std::pair<bool, std::string> &get_attribute_pair(Attribute a)
const;
41 const std::string &get_MPN()
const;
42 const std::string &get_value()
const;
43 const std::string &get_manufacturer()
const;
44 const std::string &get_datasheet()
const;
45 const std::string &get_description()
const;
46 std::set<std::string> get_tags()
const;
47 UUID get_model()
const;
49 std::set<std::string> tags;
50 bool inherit_tags =
false;
54 bool inherit_model =
true;
57 void update_refs(
IPool &pool);
58 UUID get_uuid()
const;
60 std::map<std::string, std::string> parametric;
62 std::map<UUID, PadMapItem> pad_map;
66 json serialize()
const;
Definition: file_version.hpp:8
A Pin represents a logical pin of a Unit.
Definition: unit.hpp:18
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: uuid_ptr.hpp:8
a class to store JSON values
Definition: json.hpp:166
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61