[#BloombergLP-baljsn-EncodeImplUtil-encodeMember-04] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::xref:BloombergLP/baljsn/EncodeImplUtil.adoc[EncodeImplUtil]::encodeMember :relfileprefix: ../../../ :mrdocs: `encodeMember` overloads == Synopses Declared in `<baljsn_encodeimplutil.h>` Encode the JSON representation of the specified object `member` having the specified `memberName` to the specified JSON `formatter`, according to the specified `formattingMode`. If the representation contains no text, load the value `true` to `isMemberEmpty` and the value `false` otherwise. If the specified `isFirstMember` option is `true`, then the representation of the member contains no leading sequence delimiter, and does contain such a delimiter otherwise. Use the specified `options` to configure aspects of the JSON representation of the `member`. If this operation is not successful, load an unspecified, human‐readable description of the error condition to the specified `logStream`. 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 `baljsn_encoderoptions` for a description of the effects, if any, of each option in the `options` on the JSON representation of the `selection`. See the package‐level documentation of `bdlat` for an introduction to the requirements of `bdlat` type‐category concepts. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static int xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-00.adoc[encodeMember]( bool* isMemberEmpty, FORMATTER* formatter, std::ostream* logStream, std::string_view const& memberName, xref:bsl/vector-00d.adoc[bsl::vector<char>] const& member, xref:BloombergLP/baljsn/EncodeImplUtil/FormattingMode.adoc[FormattingMode] formattingMode, xref:BloombergLP/baljsn/EncoderOptions.adoc[EncoderOptions] const& options, bool isFirstMember, xref:BloombergLP/bdlat_TypeCategory/Array.adoc[bdlat_TypeCategory::Array] category); ---- [.small]#xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-00.adoc[_» more..._]# ## Implementation Note This function purposefully ignores the `EncodeEmptyArrays` option in the specified `options` and always encodes the value of the specified `member` array. The caller is responsible for checking the value of this option and deciding whether to obey the option or not. Callers that encode array‐valued attributes of sequences must always obey the option. Callers that encode array‐valued selections of choices must never obey the option, and must always encode the array value. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> static int xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-03.adoc[encodeMember]( bool* isMemberEmpty, FORMATTER* formatter, std::ostream* logStream, std::string_view const& memberName, TYPE const& member, xref:BloombergLP/baljsn/EncodeImplUtil/FormattingMode.adoc[FormattingMode] formattingMode, xref:BloombergLP/baljsn/EncoderOptions.adoc[EncoderOptions] const& options, bool isFirstMember, xref:BloombergLP/bdlat_TypeCategory/Array.adoc[bdlat_TypeCategory::Array] category); ---- [.small]#xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-03.adoc[_» more..._]# Same as the preceding `encodeMember` overload for the specified `category`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TYPE, class OTHER_CATEGORY> static int xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-0e.adoc[encodeMember]( bool* isMemberEmpty, FORMATTER* formatter, std::ostream* logStream, std::string_view const& memberName, TYPE const& member, xref:BloombergLP/baljsn/EncodeImplUtil/FormattingMode.adoc[FormattingMode] formattingMode, xref:BloombergLP/baljsn/EncoderOptions.adoc[EncoderOptions] const& options, bool isFirstMember, OTHER_CATEGORY category); ---- [.small]#xref:BloombergLP/baljsn/EncodeImplUtil/encodeMember-0e.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#