GoPxL SDK
GoJsonIterator.h
Go to the documentation of this file.
1 
9 #ifndef GO_PXL_SDK_JSON_ITERATOR_H
10 #define GO_PXL_SDK_JSON_ITERATOR_H
11 
12 #include <GoPxLSdk/Def.h>
13 #include <GoPxLSdk/GoJsonError.h>
14 
15 namespace GoPxLSdk
16 {
17 
18 /* GoJson forward declaration - needed to avoid circular dependency. */
19 class GoJson;
20 
25 {
26 public:
28 
36  explicit GoJsonIterator(const RawIterator iterator);
37 
46  std::string Key();
47 
56  const std::string Key() const;
57 
66  GoJson Value();
67 
76  const GoJson Value() const;
77 
86  void SetValue(const GoJson& value);
87 
94  std::shared_ptr<RawIterator>& GetHandle();
95  const std::shared_ptr<RawIterator>& GetHandle() const;
96 
97  GoJsonIterator& operator=(const GoJsonIterator& other);
98 
99  bool operator==(const GoJsonIterator other) const;
100  bool operator!=(const GoJsonIterator other) const;
101 
102  bool operator<(const GoJsonIterator other) const;
103  bool operator<=(const GoJsonIterator other) const;
104 
105  bool operator>(const GoJsonIterator other) const;
106  bool operator>=(const GoJsonIterator other) const;
107 
108  GoJson operator*() const;
109 
110  GoJsonIterator& operator+(int val);
111  GoJsonIterator& operator+=(int val);
112  GoJsonIterator& operator++(int);
113 
114  GoJsonIterator& operator-(int val);
115  GoJsonIterator& operator-=(int val);
116  GoJsonIterator& operator--(int);
117 
118 private:
119  std::shared_ptr<RawIterator> iterator;
120 };
121 
122 }
123 
124 #endif
Simplify working with json data.
Definition: GoJson.h:38
#define GoPxLSdkClass
Definition: Def.h:35
Represents json iterator.
Definition: GoJsonIterator.h:24
Definition: Def.h:63
Declares the general SDK definitions.
Definition: Def.h:46