[#BloombergLP-baljsn-EncodeImplUtil_ElementDispatcher-operator_call-07]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher.adoc[EncodeImplUtil&lowbar;ElementDispatcher]::operator()
:relfileprefix: ../../../
:mrdocs:

Function call operators

== Synopses

Declared in `&lt;baljsn&lowbar;encodeimplutil&period;h&gt;`

Encode the JSON representation of `element` for the given category&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0d2.adoc[operator()](
    xref:bsl/vector-00d.adoc[bsl::vector&lt;char&gt;] const& element,
    xref:BloombergLP/bdlat_TypeCategory/Array.adoc[bdlat&lowbar;TypeCategory::Array] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0d2.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-08.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/Array.adoc[bdlat&lowbar;TypeCategory::Array] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-08.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0e.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/Choice.adoc[bdlat&lowbar;TypeCategory::Choice] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0e.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-04e.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/CustomizedType.adoc[bdlat&lowbar;TypeCategory::CustomizedType] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-04e.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-040.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/DynamicType.adoc[bdlat&lowbar;TypeCategory::DynamicType] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-040.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0a.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/Enumeration.adoc[bdlat&lowbar;TypeCategory::Enumeration] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0a.adoc[_» more&period;&period;&period;_]#

The behavior of this function is undefined&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-00.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bslmf/Nil.adoc[bslmf::Nil] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-00.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0d5.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/NullableValue.adoc[bdlat&lowbar;TypeCategory::NullableValue] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0d5.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0f.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/Sequence.adoc[bdlat&lowbar;TypeCategory::Sequence] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-0f.adoc[_» more&period;&period;&period;_]#

Same as the primary `operator()` overload for the specified `category`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPE&gt;
int
xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-04c.adoc[operator()](
    TYPE const& element,
    xref:BloombergLP/bdlat_TypeCategory/Simple.adoc[bdlat&lowbar;TypeCategory::Simple] category);
----

[.small]#xref:BloombergLP/baljsn/EncodeImplUtil_ElementDispatcher/operator_call-04c.adoc[_» more&period;&period;&period;_]#

== Return Value

* 0 on success, and a non&hyphen;zero value otherwise
* an unspecified value

== Parameters

[cols="1,4"]
|===
| Name| Description
| *element*
| array element to encode
| *category*
| `bdlat` Array type&hyphen;category tag
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
