Couchbase Lite C
Couchbase Lite C API
FLKeyPath.h
Go to the documentation of this file.
1//
2// FLKeyPath.h
3//
4// Copyright 2016-Present Couchbase, Inc.
5//
6// Use of this software is governed by the Business Source License included
7// in the file licenses/BSL-Couchbase.txt. As of the Change Date specified
8// in that file, in accordance with the Business Source License, use of this
9// software will be governed by the Apache License, Version 2.0, included in
10// the file licenses/APL2.txt.
11//
12
13#pragma once
14#ifndef _FLKEYPATH_H
15#define _FLKEYPATH_H
16
17#include "FLBase.h"
18
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25 // This is the C API! For the C++ API, see Fleece.hh.
26
27
44#ifndef FL_IMPL
45 typedef struct _FLKeyPath* FLKeyPath;
46#endif
47
50 FLError* FL_NULLABLE outError) FLAPI;
51
54
57 FLValue root) FLAPI;
58
63 FLError* FL_NULLABLE outError) FLAPI;
64
67
70
73 size_t i,
74 FLSlice *outDictKey,
75 int32_t *outArrayIndex) FLAPI;
76
79#ifdef __cplusplus
80}
81#endif
82
84
85#endif // _FLKEYPATH_H
#define FL_NULLABLE
Definition: CompilerSupport.h:74
#define FLEECE_PUBLIC
Definition: CompilerSupport.h:241
#define FL_ASSUME_NONNULL_BEGIN
Definition: CompilerSupport.h:72
#define FL_ASSUME_NONNULL_END
Definition: CompilerSupport.h:73
#define FLAPI
Definition: CompilerSupport.h:247
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.
struct _FLKeyPath * FLKeyPath
A reference to a key path.
Definition: FLKeyPath.h:45
FLEECE_PUBLIC void FLKeyPath_Free(FLKeyPath FL_NULLABLE)
Frees a compiled FLKeyPath object.
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 FLStringResult FLKeyPath_ToString(FLKeyPath path)
Returns a path in string form.
FLEECE_PUBLIC bool FLKeyPath_GetElement(FLKeyPath, size_t i, FLSlice *outDictKey, int32_t *outArrayIndex)
Returns an element of a path, either a key or an array index.
FLEECE_PUBLIC FLValue FL_NULLABLE FLKeyPath_Eval(FLKeyPath, FLValue root)
Evaluates a compiled key-path for a given Fleece root object.
FLEECE_PUBLIC bool FLKeyPath_Equals(FLKeyPath path1, FLKeyPath path2)
Equality test.
FLError
Error codes returned from some API calls.
Definition: FLBase.h:48
const struct _FLValue * FLValue
A reference to a value of any type.
Definition: FLBase.h:35
A simple reference to a block of memory.
Definition: FLSlice.h:45
A heap-allocated block of memory returned from an API call.
Definition: FLSlice.h:63