[#BloombergLP-baljsn-EncodeImplUtil_SelectionDispatcher] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::EncodeImplUtil_SelectionDispatcher :relfileprefix: ../../ :mrdocs: 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 a "selection" object that satisfies one of the `bdlat` type‐category concepts, and an optional `bdlat_TypeCategory` tag type that corresponds to the selections's `bdlat` type category. Each function‐call‐operator overload encodes a JSON representation of the specified selection to the `formatter` supplied on construction. == Synopsis Declared in `<baljsn_encodeimplutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class FORMATTER> class EncodeImplUtil_SelectionDispatcher; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/baljsn/EncodeImplUtil_SelectionDispatcher/FormattingMode.adoc[`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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/baljsn/EncodeImplUtil_SelectionDispatcher/2constructor.adoc[`EncodeImplUtil_SelectionDispatcher`] [.small]#[constructor]# | Construct an `EncodeImplUtil_SelectionDispatcher` object having the specified `formatter`, `logStream`, and `options` attributes. | xref:BloombergLP/baljsn/EncodeImplUtil_SelectionDispatcher/isNextObjectFirst.adoc[`isNextObjectFirst`] | Return the value of the `isNextElementFirst` attribute of this object. | xref:BloombergLP/baljsn/EncodeImplUtil_SelectionDispatcher/operator_call-09.adoc[`operator()`] | Function call operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#