lunch-rest/menu.hpp
2020-09-15 00:55:03 +02:00

31 lines
714 B
C++

#ifndef LUNCH_REST_MENU_H
#define LUNCH_REST_MENU_H
#include "meal.hpp"
#include <string>
#include <vector>
namespace LunchRest {
class Menu {
public:
Menu() = default;
Menu(const std::vector<Meal> &meals) :
_meals(meals) {}
void addMeal(bool soup, const std::string &name, const std::string &desc, int price);
void addMeal(const Meal &meal);
bool hasSoup() const;
Meal getSoup() const;
std::vector<Meal> getNonSoupMeals();
const std::vector<Meal> &getMeals() const;
unsigned long int getSoupIndex() const;
void setInvalidMenu();
bool isValid() const;
private:
std::vector<Meal> _meals;
bool _valid = true;
};
} // end of namespace LunchRest
#endif