18 const std::string empty;
32 static Part new_from_file(
const std::string &filename,
IPool &pool);
33 static unsigned int get_app_version();
36 enum class Attribute { MPN, VALUE, MANUFACTURER, DATASHEET, DESCRIPTION };
37 std::map<Attribute, std::pair<bool, std::string>> attributes;
38 std::map<UUID, std::string> orderable_MPNs;
39 const std::string &get_attribute(Attribute a)
const;
40 const std::pair<bool, std::string> &get_attribute_pair(Attribute a)
const;
42 const std::string &get_MPN()
const;
43 const std::string &get_value()
const;
44 const std::string &get_manufacturer()
const;
45 const std::string &get_datasheet()
const;
46 const std::string &get_description()
const;
47 std::set<std::string> get_tags()
const;
48 UUID get_model()
const;
50 std::set<std::string> tags;
51 bool inherit_tags =
false;
55 bool inherit_model =
true;
58 void update_refs(
IPool &pool);
59 UUID get_uuid()
const;
61 std::map<std::string, std::string> parametric;
64 Column(
const std::string &d,
const std::string &v) : display_name(d), value(v)
67 const std::string display_name;
68 const std::string value;
70 std::map<std::string, Column> parametric_formatted;
72 std::map<UUID, PadMapItem> pad_map;
74 enum class FlagState { SET, CLEAR, INHERIT };
75 enum class Flag { EXCLUDE_BOM, EXCLUDE_PNP, BASE_PART };
76 std::map<Flag, FlagState> flags;
77 bool get_flag(Flag fl)
const;
79 enum class OverridePrefix { NO, YES, INHERIT };
80 OverridePrefix override_prefix = OverridePrefix::NO;
82 const std::string &get_prefix()
const;
84 ItemSet get_pool_items_used()
const;
86 unsigned int get_required_version()
const;
90 json serialize()
const;