diff options
Diffstat (limited to 'protocols/facebook/JSON_CAJUN/visitor.h')
-rw-r--r-- | protocols/facebook/JSON_CAJUN/visitor.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/protocols/facebook/JSON_CAJUN/visitor.h b/protocols/facebook/JSON_CAJUN/visitor.h new file mode 100644 index 0000000000..8a28d7a64a --- /dev/null +++ b/protocols/facebook/JSON_CAJUN/visitor.h @@ -0,0 +1,44 @@ +/**********************************************
+
+License: BSD
+Project Webpage: http://cajun-jsonapi.sourceforge.net/
+Author: Terry Caton
+
+***********************************************/
+
+#pragma once
+
+#include "elements.h"
+
+namespace json
+{
+
+
+class Visitor
+{
+public:
+ virtual ~Visitor() {}
+
+ virtual void Visit(Array& array) = 0;
+ virtual void Visit(Object& object) = 0;
+ virtual void Visit(Number& number) = 0;
+ virtual void Visit(String& string) = 0;
+ virtual void Visit(Boolean& boolean) = 0;
+ virtual void Visit(Null& null) = 0;
+};
+
+class ConstVisitor
+{
+public:
+ virtual ~ConstVisitor() {}
+
+ virtual void Visit(const Array& array) = 0;
+ virtual void Visit(const Object& object) = 0;
+ virtual void Visit(const Number& number) = 0;
+ virtual void Visit(const String& string) = 0;
+ virtual void Visit(const Boolean& boolean) = 0;
+ virtual void Visit(const Null& null) = 0;
+};
+
+
+} // End namespace
|