#ifndef STORAGE_HPP #define STORAGE_HPP #include "Snack.hpp" #include #include enum class StorageType { CANDY, COOKIES, CAKE, OTHER }; class Storage { public: Storage(StorageType storageType); Storage(StorageType storageType, int storageCapacity); void add(std::string snackName); void add(std::string snackName, int snackAmount); void eat(std::string snackName, int snackAmount); void eatFirst(int snackAmount); void eatLast(int snackAmount); void sortByAmount(); void sortBySnackName(); void clear(); [[nodiscard]] int getAmount() const; [[nodiscard]] int getCapacity() const; [[nodiscard]] StorageType getType() const; [[nodiscard]] const std::vector &getSnacks() const; void setCapacity(int storageCapacity); private: std::vector snacks; StorageType type; int amount; int capacity; }; #endif