4 #include "util/uuid.hpp"
5 #include "util/uuid_provider.hpp"
16 const std::string empty;
29 static Part new_from_file(
const std::string &filename,
Pool &pool);
32 enum class Attribute { MPN, VALUE, MANUFACTURER, DATASHEET, DESCRIPTION };
33 std::map<Attribute, std::pair<bool, std::string>> attributes;
34 std::map<UUID, std::string> orderable_MPNs;
35 const std::string &get_attribute(Attribute a)
const;
36 const std::pair<bool, std::string> &get_attribute_pair(Attribute a)
const;
38 const std::string &get_MPN()
const;
39 const std::string &get_value()
const;
40 const std::string &get_manufacturer()
const;
41 const std::string &get_datasheet()
const;
42 const std::string &get_description()
const;
43 std::set<std::string> get_tags()
const;
44 UUID get_model()
const;
46 std::set<std::string> tags;
47 bool inherit_tags =
false;
51 bool inherit_model =
true;
54 void update_refs(
Pool &pool);
55 UUID get_uuid()
const;
57 std::map<std::string, std::string> parametric;
59 std::map<UUID, PadMapItem> pad_map;
60 json serialize()
const;