BloombergLP::baljsn::EncodeImplUtil_ValueDispatcher

This component-private class provides a function object used to encode values that satisfy one of the bdlat type-category concepts.

Synopsis

Declared in <baljsn_encodeimplutil.h>

template<class FORMATTER>
class EncodeImplUtil_ValueDispatcher;

Description

This class's constructor closes over the formatter, logStream, and options parameters that are shared between all encoding operations provided in this component. The function-call operator of this class provides an overload set that accepts an object that satisfies one of the bdlat type-category concepts, and a bdlat_TypeCategory tag type that corresponds to the object's bdlat type category. Each function-call-operator overload encodes a JSON representation of the specified value to the formatter supplied on construction.

Type Aliases

NameDescription
FormattingMode FormattingMode is an alias to the type of an int-valued bdlat_FormattingMode bit-field. A FormattingMode value is not valid unless it is equal to an enumerator of bdlat_FormattingMode or a valid bitwise-or of two or more such enumerators. See the component-level documentation of {bdlat_formattingmode} for a description of the set of valid formatting-mode values.

Member Functions

NameDescription
EncodeImplUtil_ValueDispatcher [constructor]Construct an EncodeImplUtil_ValueDispatcher object having the specified formatter, logStream, formattingMode, isNextObjectFirst, and options attributes.
isNextObjectFirst Return the value of the isNextObjectFirst attribute of this object.
operator() Function call operators