BloombergLP::baljsn::Decoder::decodeAny

Decode JSON from streamBuf into value using options without instantiating templates at compile time.

Synopsis

Declared in <baljsn_decoder.h>

template<class TYPE>
int
decodeAny(
    std::streambuf* streamBuf,
    TYPE* value,
    DecoderOptions const& options);

Description

Decode into the specified value, of a (template parameter) TYPE, the JSON data read from the specified streamBuf and using the specified options. Specifying a nullptr options is equivalent to passing a default-constructed DecoderOptions in options. TYPE shall be a bdlat-compatible sequence, choice, or array type, or a bdlat-compatible dynamic type referring to one of those types. Return 0 on success, and a non-zero value otherwise. Note that this function behaves identically to decode, but does not instantiate any templates at compile time at the expense of being slightly slower at runtime; see the baljsn package documentation for more details.

Return Value

0 on success, and a non-zero value otherwise

Parameters

NameDescription
streamBufinput buffer supplying JSON
valueobject to decode into
optionsdecoding options