Public Types |
Public Member Functions |
Private Types |
Private Member Functions |
Static Private Member Functions |
Private Attributes |
List of all members
nlohmann::json_abi_v3_11_3::detail::lexer< BasicJsonType, InputAdapterType > Class Template Reference lexical analysis More...
Inheritance diagram for nlohmann::json_abi_v3_11_3::detail::lexer< BasicJsonType, InputAdapterType >:
![]()
Collaboration diagram for nlohmann::json_abi_v3_11_3::detail::lexer< BasicJsonType, InputAdapterType >:
![]()
Detailed Descriptiontemplate<typename BasicJsonType, typename InputAdapterType> class nlohmann::json_abi_v3_11_3::detail::lexer< BasicJsonType, InputAdapterType > lexical analysis This class organizes the lexical analysis during JSON deserialization. Member Typedef Documentation◆ char_int_type
template<typename BasicJsonType , typename InputAdapterType >
◆ char_type
template<typename BasicJsonType , typename InputAdapterType >
◆ number_float_t
template<typename BasicJsonType , typename InputAdapterType >
◆ number_integer_t
template<typename BasicJsonType , typename InputAdapterType >
◆ number_unsigned_t
template<typename BasicJsonType , typename InputAdapterType >
◆ string_t
template<typename BasicJsonType , typename InputAdapterType >
◆ token_type
template<typename BasicJsonType , typename InputAdapterType >
Constructor & Destructor Documentation◆ lexer() [1/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ lexer() [2/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ lexer() [3/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ ~lexer()
template<typename BasicJsonType , typename InputAdapterType >
Member Function Documentation◆ add()
template<typename BasicJsonType , typename InputAdapterType >
◆ get()
template<typename BasicJsonType , typename InputAdapterType >
Definition at line 8709 of file json.hpp. References JSON_HEDLEY_LIKELY. ◆ get_codepoint()
template<typename BasicJsonType , typename InputAdapterType >
get codepoint from 4 hex characters following For input "\u c1 c2 c3 c4" the codepoint is: (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0) Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The conversion is done by subtracting the offset (0x30, 0x37, and 0x57) between the ASCII value of the character and the desired integer value.
Definition at line 7541 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(), and JSON_ASSERT. ◆ get_decimal_point()
template<typename BasicJsonType , typename InputAdapterType >
return the locale-dependent decimal point Definition at line 7515 of file json.hpp. References JSON_ASSERT. ◆ get_error_message()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_number_float()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_number_integer()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_number_unsigned()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_position()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_string()
template<typename BasicJsonType , typename InputAdapterType >
◆ get_token_string()
template<typename BasicJsonType , typename InputAdapterType >
◆ next_byte_in_range()
template<typename BasicJsonType , typename InputAdapterType >
check if the next byte(s) are inside a given range Adds the current byte and, for each passed range, reads a new byte and checks if it is inside the range. If a violation was detected, set up an error message and return false. Otherwise, return true.
Definition at line 7589 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(), JSON_ASSERT, and JSON_HEDLEY_LIKELY. ◆ operator=() [1/2]
template<typename BasicJsonType , typename InputAdapterType >
◆ operator=() [2/2]
template<typename BasicJsonType , typename InputAdapterType >
◆ reset()
template<typename BasicJsonType , typename InputAdapterType >
◆ scan()
template<typename BasicJsonType , typename InputAdapterType >
◆ scan_comment()
template<typename BasicJsonType , typename InputAdapterType >
scan a comment
Definition at line 8216 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(). ◆ scan_literal()
template<typename BasicJsonType , typename InputAdapterType >
Definition at line 8672 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(), JSON_ASSERT, and JSON_HEDLEY_UNLIKELY. ◆ scan_number()
template<typename BasicJsonType , typename InputAdapterType >
scan a number literal This function scans a string according to Sect. 6 of RFC 8259. The function is realized with a deterministic finite state machine derived from the grammar described in RFC 8259. Starting in state "init", the input is read and used to determined the next state. Only state "done" accepts the number. State "error" is a trap state to model errors. In the table below, "anything" means any character but the ones listed before.
The state machine is realized with one label per state (prefixed with "scan_number_") and During scanning, the read bytes are stored in token_buffer. This string is then converted to a signed integer, an unsigned integer, or a floating-point number.
Definition at line 8341 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(), and JSON_ASSERT. ◆ scan_string()
template<typename BasicJsonType , typename InputAdapterType >
scan a string literal This function scans a string according to Sect. 7 of RFC 8259. While scanning, bytes are escaped and copied into buffer token_buffer. Then the function returns successfully, token_buffer is not null-terminated (as it may contain \0 bytes), and token_buffer.size() is the number of bytes in the string.
Definition at line 7626 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(), JSON_ASSERT, JSON_HEDLEY_LIKELY, and JSON_HEDLEY_UNLIKELY. ◆ skip_bom()
template<typename BasicJsonType , typename InputAdapterType >
skip the UTF-8 byte order mark
Definition at line 8858 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(). ◆ skip_whitespace()
template<typename BasicJsonType , typename InputAdapterType >
Definition at line 8872 of file json.hpp. References nlohmann::json_abi_v3_11_3::detail::get(). ◆ strtof() [1/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ strtof() [2/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ strtof() [3/3]
template<typename BasicJsonType , typename InputAdapterType >
◆ unget()
template<typename BasicJsonType , typename InputAdapterType >
unget current character (read it again on next get) We implement unget by setting variable next_unget to true. The input is not changed - we just simulate ungetting by modifying chars_read_total, chars_read_current_line, and token_string. The next call to get() will behave as if the unget character is read again. Definition at line 8746 of file json.hpp. References JSON_ASSERT, and JSON_HEDLEY_LIKELY. Member Data Documentation◆ current
template<typename BasicJsonType , typename InputAdapterType >
◆ decimal_point_char
template<typename BasicJsonType , typename InputAdapterType >
◆ error_message
template<typename BasicJsonType , typename InputAdapterType >
◆ ia
template<typename BasicJsonType , typename InputAdapterType >
◆ ignore_comments
template<typename BasicJsonType , typename InputAdapterType >
◆ next_unget
template<typename BasicJsonType , typename InputAdapterType >
◆ position
template<typename BasicJsonType , typename InputAdapterType >
◆ token_buffer
template<typename BasicJsonType , typename InputAdapterType >
◆ token_string
template<typename BasicJsonType , typename InputAdapterType >
◆ value_float
template<typename BasicJsonType , typename InputAdapterType >
◆ value_integer
template<typename BasicJsonType , typename InputAdapterType >
◆ value_unsigned
template<typename BasicJsonType , typename InputAdapterType >
The documentation for this class was generated from the following file: Generated on Sun Apr 6 2025 11:10:38 for FlexibleSUSY by |