Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

parse_into (6 of 6 overloads)
PrevUpHomeNext

Parse a JSON text into a user-defined object.

Synopsis

Defined in header <boost/json/parse_into.hpp>

template<
    class V>
void
parse_into(
    V& v,
    std::istream& is,
    parse_options const& opt = {});
Description

This function reads data from an input stream and fills an object provided by the user. If the buffer does not contain a complete serialized JSON text, or contains extra non-whitespace data, an exception is thrown. In this case v may be partially filled. The function supports default constructible types satisfying SequenceContainer, arrays, arithmetic types, bool, std::tuple, std::pair, std::optional, std::nullptr_t, and structs and enums described using Boost.Describe.

Complexity

Linear in the size of consumed input.

Exception Safety

Basic guarantee. Throws system_error on failed parse. Calls to memory_resource::allocate may throw. The stream may throw as described by std::ios::exceptions.

Parameters

Name

Description

v

The type to parse into.

is

The stream to read from.

opt

The options for the parser. If this parameter is omitted, the parser will accept only standard JSON.

Convenience header <boost/json.hpp>


PrevUpHomeNext