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