| LiteCore
    Couchbase Lite cross-platform core implementation | 
A deep iterator traverses every value contained in a dictionary, in depth-first order. More...
| Data Structures | |
| struct | FLPathComponent | 
| Typedefs | |
| typedef struct _FLDeepIterator * | FLDeepIterator | 
| A reference to a deep iterator. | |
| Functions | |
| FLEECE_PUBLIC FLDeepIterator | FLDeepIterator_New (FLValue FL_NULLABLE) | 
| Creates a FLDeepIterator to iterate over a dictionary. | |
| FLEECE_PUBLIC void | FLDeepIterator_Free (FLDeepIterator FL_NULLABLE) | 
| FLEECE_PUBLIC FLValue FL_NULLABLE | FLDeepIterator_GetValue (FLDeepIterator) | 
| Returns the current value being iterated over. | |
| FLEECE_PUBLIC FLValue FL_NULLABLE | FLDeepIterator_GetParent (FLDeepIterator) | 
| Returns the parent/container of the current value, or NULL at the end of iteration. | |
| FLEECE_PUBLIC FLSlice | FLDeepIterator_GetKey (FLDeepIterator) | 
| Returns the key of the current value in its parent, or an empty slice if not in a dictionary. | |
| FLEECE_PUBLIC uint32_t | FLDeepIterator_GetIndex (FLDeepIterator) | 
| Returns the array index of the current value in its parent, or 0 if not in an array. | |
| FLEECE_PUBLIC size_t | FLDeepIterator_GetDepth (FLDeepIterator) | 
| Returns the current depth in the hierarchy, starting at 1 for the top-level children. | |
| FLEECE_PUBLIC void | FLDeepIterator_SkipChildren (FLDeepIterator) | 
| Tells the iterator to skip the children of the current value. | |
| FLEECE_PUBLIC bool | FLDeepIterator_Next (FLDeepIterator) | 
| Advances the iterator to the next value, or returns false if at the end. | |
| FLEECE_PUBLIC void | FLDeepIterator_GetPath (FLDeepIterator, FLPathComponent *FL_NONNULL *FL_NONNULL outPath, size_t *outDepth) | 
| Returns the path as an array of FLPathComponents. | |
| FLEECE_PUBLIC FLSliceResult | FLDeepIterator_GetPathString (FLDeepIterator) | 
| Returns the current path in JavaScript format. | |
| FLEECE_PUBLIC FLSliceResult | FLDeepIterator_GetJSONPointer (FLDeepIterator) | 
| Returns the current path in JSONPointer format (RFC 6901). | |
A deep iterator traverses every value contained in a dictionary, in depth-first order.
You can skip any nested collection by calling FLDeepIterator_SkipChildren.
| typedef struct _FLDeepIterator* FLDeepIterator | 
A reference to a deep iterator.
| FLEECE_PUBLIC void FLDeepIterator_Free | ( | FLDeepIterator | FL_NULLABLE | ) | 
| FLEECE_PUBLIC size_t FLDeepIterator_GetDepth | ( | FLDeepIterator | ) | 
Returns the current depth in the hierarchy, starting at 1 for the top-level children.
| FLEECE_PUBLIC uint32_t FLDeepIterator_GetIndex | ( | FLDeepIterator | ) | 
Returns the array index of the current value in its parent, or 0 if not in an array.
| FLEECE_PUBLIC FLSliceResult FLDeepIterator_GetJSONPointer | ( | FLDeepIterator | ) | 
Returns the current path in JSONPointer format (RFC 6901).
| FLEECE_PUBLIC FLSlice FLDeepIterator_GetKey | ( | FLDeepIterator | ) | 
Returns the key of the current value in its parent, or an empty slice if not in a dictionary.
| FLEECE_PUBLIC FLValue FL_NULLABLE FLDeepIterator_GetParent | ( | FLDeepIterator | ) | 
Returns the parent/container of the current value, or NULL at the end of iteration.
| FLEECE_PUBLIC void FLDeepIterator_GetPath | ( | FLDeepIterator | , | 
| FLPathComponent *FL_NONNULL *FL_NONNULL | outPath, | ||
| size_t * | outDepth ) | 
Returns the path as an array of FLPathComponents.
| FLEECE_PUBLIC FLSliceResult FLDeepIterator_GetPathString | ( | FLDeepIterator | ) | 
Returns the current path in JavaScript format.
| FLEECE_PUBLIC FLValue FL_NULLABLE FLDeepIterator_GetValue | ( | FLDeepIterator | ) | 
Returns the current value being iterated over.
or NULL at the end of iteration.
| FLEECE_PUBLIC FLDeepIterator FLDeepIterator_New | ( | FLValue | FL_NULLABLE | ) | 
Creates a FLDeepIterator to iterate over a dictionary.
Call FLDeepIterator_GetKey and FLDeepIterator_GetValue to get the first item, then FLDeepIterator_Next.
| FLEECE_PUBLIC bool FLDeepIterator_Next | ( | FLDeepIterator | ) | 
Advances the iterator to the next value, or returns false if at the end.
| FLEECE_PUBLIC void FLDeepIterator_SkipChildren | ( | FLDeepIterator | ) | 
Tells the iterator to skip the children of the current value.