BloombergLP::baljsn::EncodeImplUtil_AttributeDispatcher

This component-private class provides a function object that 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 "attribute" object that satisfies one of the bdlat type-category concepts, and an optional bdlat_TypeCategory tag type that corresponds to the attribute's bdlat type category. Each function-call-operator overload encodes a JSON representation of the specified attribute to the formatter supplied on construction.

Synopsis

Declared in <baljsn_encodeimplutil.h>

template<class FORMATTER>
class EncodeImplUtil_AttributeDispatcher;

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_AttributeDispatcher [constructor]Construct an EncodeImplUtil_AttributeDispatcher object having the specified formatter, logStream, attributeName, formattingMode, isNextAttributeFirst, and options attributes.
isNextAttributeFirst Return the value of the isNextAttributeFirst attribute of this object.
operator() Function call operators