Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
detail::parse_error Class Reference

exception indicating a parse error More...

#include <json.hpp>

Inheritance diagram for detail::parse_error:
[legend]
Collaboration diagram for detail::parse_error:
[legend]

Public Member Functions

const char * what () const noexcept override
 returns the explanatory string
 

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)
 

Data Fields

const std::size_t byte
 byte index of the parse error
 
const int id
 the id of the exception
 

Static Protected Member Functions

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_)
 

Private Member Functions

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

Static Private Member Functions

template<typename BasicJsonType >
static std::string get_byte_positions (const BasicJsonType *leaf_element)
 
static std::string position_string (const position_t &pos)
 

Private Attributes

std::runtime_error m
 an exception object as storage for error messages
 

Detailed Description

exception indicating a parse error

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

Definition at line 4626 of file json.hpp.

Constructor & Destructor Documentation

◆ parse_error()

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

Definition at line 4667 of file json.hpp.

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 4639 of file json.hpp.

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 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

◆ diagnostics() [1/2]

template<typename BasicJsonType >
static std::string detail::exception::diagnostics ( const BasicJsonType *  leaf_element)
inlinestaticprotectedinherited

◆ diagnostics() [2/2]

static std::string detail::exception::diagnostics ( std::nullptr_t  )
inlinestaticprotectedinherited

Definition at line 4531 of file json.hpp.

Referenced by create(), detail::invalid_iterator::create(), detail::type_error::create(), detail::out_of_range::create(), detail::other_error::create(), and create().

Here is the caller graph for this function:

◆ get_byte_positions()

template<typename BasicJsonType >
static std::string detail::exception::get_byte_positions ( const BasicJsonType *  leaf_element)
inlinestaticprivateinherited

Definition at line 4616 of file json.hpp.

Referenced by detail::exception::diagnostics().

Here is the caller graph for this function:

◆ name()

static std::string detail::exception::name ( const std::string &  ename,
int  id_ 
)
inlinestaticprotectedinherited

Definition at line 4526 of file json.hpp.

References detail::concat().

Referenced by create(), detail::invalid_iterator::create(), detail::type_error::create(), detail::out_of_range::create(), detail::other_error::create(), and create().

Here is the caller graph for this function:

◆ position_string()

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

Definition at line 4670 of file json.hpp.

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

Referenced by create().

Here is the caller graph for this function:

◆ what()

const char * detail::exception::what ( ) const
inlineoverridenoexceptinherited

returns the explanatory string

Definition at line 4514 of file json.hpp.

References detail::exception::m.

Field 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 4664 of file json.hpp.

◆ id

const int detail::exception::id
inherited

the id of the exception

Definition at line 4520 of file json.hpp.

◆ m

std::runtime_error detail::exception::m
privateinherited

an exception object as storage for error messages

Definition at line 4603 of file json.hpp.

Referenced by detail::exception::what().


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