| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  | /*
 | 
					
						
							|  |  |  | * Arduino JSON library | 
					
						
							|  |  |  | * Benoit Blanchon 2014 - MIT License | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "JsonValue.h"
 | 
					
						
							| 
									
										
										
										
											2014-07-18 15:43:20 +02:00
										 |  |  | #include "JsonToken.h"
 | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace ArduinoJson | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     namespace Parser | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2014-07-21 15:20:02 +02:00
										 |  |  |         // An iterator for JsonArray
 | 
					
						
							| 
									
										
										
										
											2014-07-19 14:41:29 +02:00
										 |  |  |         class JsonArrayIterator : JsonToken | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |         { | 
					
						
							|  |  |  |         public: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-21 15:20:02 +02:00
										 |  |  |             // Create an iterator pointing at the specified JsonToken
 | 
					
						
							| 
									
										
										
										
											2014-07-19 12:44:27 +02:00
										 |  |  |             JsonArrayIterator(JsonToken token) | 
					
						
							|  |  |  |                 : JsonToken(token) | 
					
						
							| 
									
										
										
										
											2014-07-18 16:10:19 +02:00
										 |  |  |             { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-21 15:20:02 +02:00
										 |  |  |             // Move iterator forward
 | 
					
						
							| 
									
										
										
										
											2014-07-18 22:40:50 +02:00
										 |  |  |             void operator++() | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |             { | 
					
						
							| 
									
										
										
										
											2014-07-19 12:44:27 +02:00
										 |  |  |                 *this = JsonArrayIterator(nextSibling()); | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-21 15:20:02 +02:00
										 |  |  |             // Get the value pointed by the iterator
 | 
					
						
							| 
									
										
										
										
											2014-07-18 16:10:19 +02:00
										 |  |  |             JsonValue operator*() const | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |             { | 
					
						
							| 
									
										
										
										
											2014-07-19 12:44:27 +02:00
										 |  |  |                 return JsonValue(*this); | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2014-07-19 14:41:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-21 15:20:02 +02:00
										 |  |  |             // Test iterator equality
 | 
					
						
							| 
									
										
										
										
											2014-07-19 14:41:29 +02:00
										 |  |  |             bool operator!= (const JsonArrayIterator& other) const | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 return JsonToken::operator!=(other); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2014-07-17 13:58:30 +02:00
										 |  |  |         }; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |