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

PrevUpHomeNext
value_to (2 of 3 overloads)

Convert a value to an object of type T.

Synopsis

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

template<
    class T>
T
value_to(
    const value& jv);
Description

This function attempts to convert a value to T using

Out of the box the function supports types satisfying SequenceContainer, arrays, arithmetic types, bool, std::tuple, std::pair, std::variant, std::optional, std::monostate, and std::nullopt_t.

Conversion of other types is done by calling an overload of tag_invoke found by argument-dependent lookup. Its signature should be similar to:

T tag_invoke( value_to_tag<T>, const value& );

The object returned by the function call is returned by value_to as the result of the conversion.

Constraints
! std::is_reference< T >::value
Exception Safety

Strong guarantee.

Template Parameters

Type

Description

T

The type to convert to.

Return Value

jv converted to T.

Parameters

Name

Description

jv

The value to convert.

See Also

value_to_tag, value_from, tag_invoke: A general pattern for supporting customisable functions

Convenience header <boost/json.hpp>


PrevUpHomeNext