void Add(int res, double amount);
bool Has(int res) const noexcept;
double Get(int res) const noexcept;
void Add(int res, double amount);
bool Has(int res) const noexcept;
double Get(int res) const noexcept;
std::vector<Component>::iterator begin() noexcept { return components.begin(); }
std::vector<Component>::iterator end() noexcept { return components.end(); }
std::vector<Component>::const_iterator begin() const noexcept { return components.begin(); }
std::vector<Component>::iterator begin() noexcept { return components.begin(); }
std::vector<Component>::iterator end() noexcept { return components.end(); }
std::vector<Component>::const_iterator begin() const noexcept { return components.begin(); }