[#BloombergLP-bdlat_SequenceFunctions-manipulateAttribute-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlat_SequenceFunctions.adoc[bdlat_SequenceFunctions]::manipulateAttribute :relfileprefix: ../../ :mrdocs: Invoke the specified `manipulator` on the address of the (modifiable) attribute indicated by the specified `attributeId` of the specified `object`, supplying `manipulator` with the corresponding attribute information structure. The supplied `manipulator` must be a callable type that can be called as if it had the following signature: ` template <class t_INFO> int manipulator(ATTRIBUTE_TYPE *attribute, const t_INFO& info); ` Return non‐zero value if the attribute is not found, and the value returned from the invocation of `manipulator` otherwise. == Synopsis Declared in `<bdlat_sequencefunctions.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TYPE, class MANIPULATOR> int manipulateAttribute( TYPE* object, MANIPULATOR& manipulator, int attributeId); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#