Couchbase Lite C
Couchbase Lite C API
Loading...
Searching...
No Matches
FLKeyPath.h File Reference
#include "FLBase.h"

Go to the source code of this file.

Macros

#define _FLKEYPATH_H

Typedefs

typedef struct _FLKeyPath * FLKeyPath
 A reference to a key path.

Functions

NODISCARD FLEECE_PUBLIC FLKeyPath FL_NULLABLE FLKeyPath_New (FLSlice specifier, FLError *FL_NULLABLE outError)
 Creates a new FLKeyPath object by compiling a path specifier string.
FLEECE_PUBLIC void FLKeyPath_Free (FLKeyPath FL_NULLABLE)
 Frees a compiled FLKeyPath object.
NODISCARD FLEECE_PUBLIC FLValue FL_NULLABLE FLKeyPath_Eval (FLKeyPath, FLValue root)
 Evaluates a compiled key-path for a given Fleece root object.
NODISCARD FLEECE_PUBLIC FLValue FL_NULLABLE FLKeyPath_EvalOnce (FLSlice specifier, FLValue root, FLError *FL_NULLABLE outError)
 Evaluates a key-path from a specifier string, for a given Fleece root object.
NODISCARD FLEECE_PUBLIC FLStringResult FLKeyPath_ToString (FLKeyPath path)
 Returns a path in string form.
FLEECE_PUBLIC bool FLKeyPath_Equals (FLKeyPath path1, FLKeyPath path2)
 Equality test.
FLEECE_PUBLIC size_t FLKeyPath_GetCount (FLKeyPath)
 The number of path components.
FLEECE_PUBLIC bool FLKeyPath_GetElement (FLKeyPath path, size_t i, FLSlice *outDictKey, int32_t *outArrayIndex)
 Returns an element of a path, either a key or an array index.
NODISCARD FLEECE_PUBLIC FLKeyPath FL_NULLABLE FLKeyPath_NewEmpty (void)
 Creates a new empty FLKeyPath, for the purpose of adding components to it.
FLEECE_PUBLIC void FLKeyPath_AddProperty (FLKeyPath, FLString property)
 Appends a single property/key component to a path.
FLEECE_PUBLIC void FLKeyPath_AddIndex (FLKeyPath, int index)
 Appends a single array index component to a path.
NODISCARD FLEECE_PUBLIC bool FLKeyPath_AddComponents (FLKeyPath, FLString specifier, FLError *FL_NULLABLE outError)
 Appends one or more components, encoded as a specifier like the one passed to FLKeyPath_New.
FLEECE_PUBLIC void FLKeyPath_DropComponents (FLKeyPath, size_t n)
 Removes the first n components.

Macro Definition Documentation

◆ _FLKEYPATH_H

#define _FLKEYPATH_H