From efcea3a80da7c4479d5fe168435ecc9fd06bdc72 Mon Sep 17 00:00:00 2001 From: John Turner Date: Sun, 14 Sep 2025 00:16:10 -0400 Subject: Squashed 'subprojects/boost-sqlite/' content from commit 3378e35 git-subtree-dir: subprojects/boost-sqlite git-subtree-split: 3378e353705271e569cf4ba15c467b840a39798c --- doc/reference/json.adoc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/reference/json.adoc (limited to 'doc/reference/json.adoc') diff --git a/doc/reference/json.adoc b/doc/reference/json.adoc new file mode 100644 index 0000000..1c15f52 --- /dev/null +++ b/doc/reference/json.adoc @@ -0,0 +1,28 @@ +== `sqlite/json.hpp` + +The json header provides integration with boost/json. + +[source,cpp] +---- + +// The subtype value used by the sqlite json extension. See the [sqlite reference](https://www.sqlite.org/json1.html) +constexpr int json_subtype = static_cast('J'); + +// Allow json to be used as a result from functions or vtables +void tag_invoke(const struct set_result_tag &, sqlite3_context * ctx, const json::value & value); + +// Check if the value or field is a json. +bool is_json(const value & v); +bool is_json(const field & f); + +//Convert the value or field to a json. +json::value as_json(const value & v, json::storage_ptr ptr = {}); +json::value as_json(const field & f, json::storage_ptr ptr = {}); + +// Allow conversions to boost::json::value +void tag_invoke( const json::value_from_tag &, json::value& val, const value & f); +void tag_invoke( const json::value_from_tag &, json::value& val, const field & f); +void tag_invoke( const json::value_from_tag &, json::value& val, resultset && rs); +---- + + -- cgit v1.2.3