[#BloombergLP-baljsn-EncoderTestChoiceWithAllCategories-manipulateSelection]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories.adoc[EncoderTestChoiceWithAllCategories]::manipulateSelection
:relfileprefix: ../../../
:mrdocs:

Invoke `manipulator` on the address of the current selection&period;

== Synopsis

Declared in `&lt;baljsn&lowbar;encoder&lowbar;testtypes&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename t&lowbar;MANIPULATOR&gt;
int
manipulateSelection(t&lowbar;MANIPULATOR& manipulator);
----

== Description

Invoke the specified &apos;manipulator&apos; on the address of the modifiable selection, supplying &apos;manipulator&apos; with the corresponding selection information structure&period; Return the value returned from the invocation of &apos;manipulator&apos; if this object has a defined selection, and &hyphen;1 otherwise&period;

== Return Value

the value returned from the invocation of `manipulator`, or a non&hyphen;zero value on failure

== Parameters

[cols="1,4"]
|===
| Name| Description
| *manipulator*
| functor invoked on the current selection
|===


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