[#BloombergLP-bdlat_SequenceFunctions-bdlat_sequenceManipulateAttribute-0f]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlat_SequenceFunctions.adoc[bdlat&lowbar;SequenceFunctions]::bdlat&lowbar;sequenceManipulateAttribute
:relfileprefix: ../../
:mrdocs:

Manipulate the attribute with the specified `attributeName` of the specified `object`&period;

== Synopsis

Declared in `&lt;bdlat&lowbar;sequencefunctions&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class TYPE,
    class MANIPULATOR&gt;
int
bdlat&lowbar;sequenceManipulateAttribute(
    TYPE* object,
    MANIPULATOR& manipulator,
    char const* attributeName,
    int attributeNameLength);
----

== Description

These default implementations assume the type of the acted&hyphen;upon object is a basic&hyphen;sequence type&period; For more information about basic&hyphen;sequence types, see `bdlat&lowbar;typetraits`&period;

== Return Value

non&hyphen;zero if the attribute is not found, and the value from `manipulator` otherwise

== Parameters

[cols="1,4"]
|===
| Name| Description
| *object*
| sequence whose attribute is manipulated
| *manipulator*
| callable invoked with the attribute and its info
| *attributeName*
| name of the attribute to manipulate
| *attributeNameLength*
| length of `attributeName`
|===


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