| # basic_json::is_discarded |
| |
| ```cpp |
| constexpr bool is_discarded() const noexcept; |
| ``` |
| |
| This function returns `#!cpp true` for a JSON value if either: |
| |
| - the value was discarded during parsing with a callback function (see [`parser_callback_t`](parser_callback_t.md)), or |
| - the value is the result of parsing invalid JSON with parameter `allow_exceptions` set to `#!cpp false`; see |
| [`parse`](parse.md) for more information. |
| |
| ## Return value |
| |
| `#!cpp true` if type is discarded, `#!cpp false` otherwise. |
| |
| ## Exception safety |
| |
| No-throw guarantee: this member function never throws exceptions. |
| |
| ## Complexity |
| |
| Constant. |
| |
| ## Notes |
| |
| !!! note |
| |
| Discarded values are never compared equal with [`operator==`](operator_eq.md). That is, checking whether a JSON |
| value `j` is discarded will only work via: |
| |
| ```cpp |
| j.is_discarded() |
| ``` |
| |
| because |
| |
| ```cpp |
| j == json::value_t::discarded |
| ``` |
| |
| will always be `#!cpp false`. |
| |
| !!! note |
| |
| When a value is discarded by a callback function (see [`parser_callback_t`](parser_callback_t.md)) during parsing, |
| then it is removed when it is part of a structured value. For instance, if the second value of an array is discared, |
| instead of `#!json [null, discarded, false]`, the array `#!json [null, false]` is returned. Only if the top-level |
| value is discarded, the return value of the `parse` call is discarded. |
| |
| This function will always be `#!cpp false` for JSON values after parsing. That is, discarded values can only occur |
| during parsing, but will be removed when inside a structured value or replaced by null in other cases. |
| |
| ## Example |
| |
| ??? example |
| |
| The following code exemplifies `is_discarded()` for all JSON types. |
| |
| ```cpp |
| --8<-- "examples/is_discarded.cpp" |
| ``` |
| |
| Output: |
| |
| ```json |
| --8<-- "examples/is_discarded.output" |
| ``` |
| |
| ## Version history |
| |
| - Added in version 1.0.0. |