[#BloombergLP-baljsn-EncodeImplUtil_ElementVisitor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::EncodeImplUtil_ElementVisitor :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 an "element" object that satisfies one of the `bdlat` type‐category concepts. == Synopsis Declared in `<baljsn_encodeimplutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class FORMATTER> class EncodeImplUtil_ElementVisitor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/baljsn/EncodeImplUtil_ElementVisitor/2constructor.adoc[`EncodeImplUtil_ElementVisitor`] [.small]#[constructor]# | Construct an `EncodeImplUtil_ElementVisitor` object having the specified `formatter`, `logStream`, `isNextElementFirst`, and `options` attributes. | xref:BloombergLP/baljsn/EncodeImplUtil_ElementVisitor/isNextElementFirst.adoc[`isNextElementFirst`] | Return the value of the `isNextElementFirst` attribute of this object. | xref:BloombergLP/baljsn/EncodeImplUtil_ElementVisitor/operator_call.adoc[`operator()`] | Encode the JSON representation of the specified `value` to the JSON `formatter` attribute of this object, according to the `formattingMode` attribute of this object. If the `isNextElementFirst` attribute of this object is `true`, then the representation of the value contains no leading sequence delimiter, and does contain such a delimiter otherwise. The `options` attribute of this object configures aspects of the JSON representation of the `value`. If this operation is not successful, load an unspecified, human‐readable description of the error condition to the `logStream` attribute of this object. Return 0 on success, and a non‐zero value otherwise. The behavior is undefined unless the specified `TYPE` satisfies both the static and dynamic requirements of the specified `category` `bdlat` type‐category concept. See the component‐level documentation of {`baljsn_encoderoptions`} for a description of the effects, if any, of each option in the `options` on the JSON representation of the `value`. See the package‐level documentation of {`bdlat`} for an introduction to the requirements of `bdlat` type‐category concepts. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#