7#ifndef __VISITOR_ELEMENT_CLASSES_H__
8#define __VISITOR_ELEMENT_CLASSES_H__
14#include "helpers/stringlist.h"
20 class Visitor_Restaurant;
21 class Visitor_Butcher;
23 class Visitor_VegetableGrocer;
24 class Visitor_CondimentGrocer;
25 class Visitor_PickleGrocer;
101 if (visitor !=
nullptr)
124 if (visitor !=
nullptr)
147 if (visitor !=
nullptr)
170 if (visitor !=
nullptr)
193 if (visitor !=
nullptr)
216 if (visitor !=
nullptr)
239 if (visitor !=
nullptr)
void Accept(Visitor *visitor)
Handle visitors to this class.
Represent a butcher shop.
void Accept(Visitor *visitor)
Handle visitors to this class.
Represent a condiment grocer.
void Accept(Visitor *visitor)
Handle visitors to this class.
Represent a maker (of things).
void Accept(Visitor *visitor)
Handle visitors to this class.
Represent a pickle grocer.
void Accept(Visitor *visitor)
Handle visitors to this class.
Represent a restaurant shop.
void Accept(Visitor *visitor)
Handle visitors to this class.
Base class that all shops must implement.
Represent a vegetable grocer.
void Accept(Visitor *visitor)
Handle visitors to this class.
All visitors must implement this base class and then override one or more of the VisitXXX() methods,...
virtual void VisitMaker(Visitor_Maker *shop)
Let the visitor visit a Visitor_Maker shop.
virtual void VisitVegetableGrocer(Visitor_VegetableGrocer *shop)
Let the visitor visit a Visitor_VegetableGrocer shop.
virtual void VisitCondimentGrocer(Visitor_CondimentGrocer *shop)
Let the visitor visit a Visitor_CondimentGrocer shop.
virtual void VisitButcher(Visitor_Butcher *shop)
Let the visitor visit a Visitor_Butcher shop.
virtual void VisitPickleGrocer(Visitor_PickleGrocer *shop)
Let the visitor visit a Visitor_PickleGrocer shop.
virtual void VisitRestaurant(Visitor_Restaurant *shop)
Let the visitor visit a Visitor_Restaurant shop.
virtual void VisitBaker(Visitor_Baker *shop)
Let the visitor visit a Visitor_Baker shop.
Declaration of the Visitor_Shop base class used in the Visitor Pattern.
The namespace containing all Design Pattern Examples implemented in C++.