mirror of
https://github.com/nlohmann/json.git
synced 2026-10-31 18:05:44 +00:00
json_view: pass accept()'s validate-only request as a parameter
Address review of #5970: - build() takes validate_only as an argument; the validate_only members of document_data and basic_json_document are removed, so neither grows - the internal read path takes an on_error mode (discard, raise, validate) instead of allow_exceptions; accept() calls it with on_error::validate - build_with() has no default for Store - drop the unneeded static_casts in push_node() - name the NulIsEnd argument so astyle keeps build<...> intact - explain in the docs and code why comments/trailing commas keep the index Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N5NasF8Toq7uBWUMCrSjXV
This commit is contained in:
6 files changed
+109
-79
No files matched your search
@@ -13,12 +13,16 @@ function never throws an exception for invalid input, and the returned `#!cpp bo
|
||||
is returned.
|
||||
|
||||
The result is the same as that of `BasicJsonType::accept()` by design; the difference is how the check is made. This
|
||||
function runs the document's builder, which checks the text as [`parse()`](parse.md) does but writes no index (for
|
||||
input without comments and trailing commas; with either option it builds the index and discards it), while
|
||||
function runs the document's builder, which checks the text as [`parse()`](parse.md) does, while
|
||||
`BasicJsonType::accept()` runs the SAX parser with a handler that ignores every event. Use this one if you go on to
|
||||
parse the same input with [`parse()`](parse.md) anyway, so that both use the same code; either is fine for a plain
|
||||
yes/no answer.
|
||||
|
||||
When both `ignore_comments` and `ignore_trailing_commas` are `#!cpp false` (the default), the builder writes no index.
|
||||
With either option set, it builds the index as [`parse()`](parse.md) does and discards it: the result is the same, only
|
||||
the time differs. (Neither option needs the index; the variant that skips it exists only for the default options to
|
||||
keep the code size down.)
|
||||
|
||||
## Template parameters
|
||||
|
||||
`InputType`
|
||||
|
||||
Reference in new issue
Block a user