libcarla/include/system/boost/json/parse.hpp
2024-10-18 13:19:59 +08:00

117 lines
2.9 KiB
C++

//
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
// Copyright (c) 2020 Krystian Stasiowski (sdkrystian@gmail.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/json
//
#ifndef BOOST_JSON_PARSE_HPP
#define BOOST_JSON_PARSE_HPP
#include <boost/json/detail/config.hpp>
#include <boost/json/error.hpp>
#include <boost/json/parse_options.hpp>
#include <boost/json/storage_ptr.hpp>
#include <boost/json/string_view.hpp>
#include <boost/json/value.hpp>
BOOST_JSON_NS_BEGIN
/** Return parsed JSON as a @ref value.
This function parses an entire string in one
step to produce a complete JSON object, returned
as a @ref value. If the buffer does not contain a
complete serialized JSON, an error occurs. In this
case the returned value will be null, using the
default memory resource.
@par Complexity
Linear in `s.size()`.
@par Exception Safety
Strong guarantee.
Calls to `memory_resource::allocate` may throw.
@return A value representing the parsed JSON,
or a null if any error occurred.
@param s The string to parse.
@param ec Set to the error, if any occurred.
@param sp The memory resource that the new value and all
of its elements will use. If this parameter is omitted,
the default memory resource is used.
@param opt The options for the parser. If this parameter
is omitted, the parser will accept only standard JSON.
@see
@ref parse_options,
@ref stream_parser.
*/
/** @{ */
BOOST_JSON_DECL
value
parse(
string_view s,
error_code& ec,
storage_ptr sp = {},
parse_options const& opt = {});
BOOST_JSON_DECL
value
parse(
string_view s,
std::error_code& ec,
storage_ptr sp = {},
parse_options const& opt = {});
/** @} */
/** Parse a string of JSON into a @ref value.
This function parses an entire string in one
step to produce a complete JSON object, returned
as a @ref value. If the buffer does not contain a
complete serialized JSON, an exception is thrown.
@par Complexity
Linear in `s.size()`.
@par Exception Safety
Strong guarantee.
Calls to `memory_resource::allocate` may throw.
@return A value representing the parsed
JSON upon success.
@param s The string to parse.
@param sp The memory resource that the new value and all
of its elements will use. If this parameter is omitted,
the default memory resource is used.
@param opt The options for the parser. If this parameter
is omitted, the parser will accept only standard JSON.
@throw system_error Thrown on failure.
@see
@ref parse_options,
@ref stream_parser.
*/
BOOST_JSON_DECL
value
parse(
string_view s,
storage_ptr sp = {},
parse_options const& opt = {});
BOOST_JSON_NS_END
#endif