31 lines
714 B
C++
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
|