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.