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++.