A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
detail::parse_error Class Reference

exception indicating a parse error More...

#include "json.h"

+ Inheritance diagram for detail::parse_error:
+ Collaboration diagram for detail::parse_error:

Static Public Member Functions

template<typename BasicJsonContext , enable_if_t< is_basic_json_context< BasicJsonContext >::value, int > = 0>
static parse_error create (int id_, const position_t &pos, const std::string &what_arg, BasicJsonContext context)
 create a parse error exception
 
template<typename BasicJsonContext , enable_if_t< is_basic_json_context< BasicJsonContext >::value, int > = 0>
static parse_error create (int id_, std::size_t byte_, const std::string &what_arg, BasicJsonContext context)
 

Public Attributes

const std::size_t byte
 byte index of the parse error
 
- Public Attributes inherited from detail::exception
const int id
 the id of the exception
 

Private Member Functions

 parse_error (int id_, std::size_t byte_, const char *what_arg)
 

Static Private Member Functions

static std::string position_string (const position_t &pos)
 

Additional Inherited Members

- Public Member Functions inherited from detail::exception
const char * what () const noexcept override
 returns the explanatory string
 
- Protected Member Functions inherited from detail::exception
 exception (int id_, const char *what_arg)
 
- Static Protected Member Functions inherited from detail::exception
template<typename BasicJsonType >
static std::string diagnostics (const BasicJsonType *leaf_element)
 
static std::string diagnostics (std::nullptr_t)
 
static std::string name (const std::string &ename, int id_)
 

Detailed Description

exception indicating a parse error

See also
https://json.nlohmann.me/api/basic_json/parse_error/

Definition at line 4657 of file json.h.

Constructor & Destructor Documentation

◆ parse_error()

detail::parse_error::parse_error ( int  id_,
std::size_t  byte_,
const char *  what_arg 
)
inlineprivate

Definition at line 4698 of file json.h.

Member Function Documentation

◆ create() [1/2]

template<typename BasicJsonContext , enable_if_t< is_basic_json_context< BasicJsonContext >::value, int > = 0>
static parse_error detail::parse_error::create ( int  id_,
const position_t pos,
const std::string &  what_arg,
BasicJsonContext  context 
)
inlinestatic

create a parse error exception

Parameters
[in]id_the id of the exception
[in]posthe position where the error occurred (or with chars_read_total=0 if the position cannot be determined)
[in]what_argthe explanatory string
Returns
parse_error object

Definition at line 4670 of file json.h.

References detail::position_t::chars_read_total, detail::concat(), detail::exception::diagnostics(), detail::exception::name(), and position_string().

Referenced by json_pointer< RefStringType >::array_index(), detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::get_elements(), detail::input_adapter(), detail::input_adapter(), and json_pointer< RefStringType >::split().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create() [2/2]

template<typename BasicJsonContext , enable_if_t< is_basic_json_context< BasicJsonContext >::value, int > = 0>
static parse_error detail::parse_error::create ( int  id_,
std::size_t  byte_,
const std::string &  what_arg,
BasicJsonContext  context 
)
inlinestatic

Definition at line 4678 of file json.h.

References detail::concat(), detail::exception::diagnostics(), and detail::exception::name().

+ Here is the call graph for this function:

◆ position_string()

static std::string detail::parse_error::position_string ( const position_t pos)
inlinestaticprivate

Definition at line 4701 of file json.h.

References detail::position_t::chars_read_current_line, detail::concat(), and detail::position_t::lines_read.

Referenced by create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ byte

const std::size_t detail::parse_error::byte

byte index of the parse error

The byte index of the last read character in the input file.

Note
For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).

Definition at line 4695 of file json.h.


The documentation for this class was generated from the following file: