BloombergLP::bdlat_SequenceFunctions::manipulateAttribute

Invoke a manipulator on a sequence attribute identified by name.

Synopsis

Declared in <bdlat_sequencefunctions.h>

template<
    class TYPE,
    class MANIPULATOR>
int
manipulateAttribute(
    TYPE* object,
    MANIPULATOR& manipulator,
    char const* attributeName,
    int attributeNameLength);

Description

Invoke the specified manipulator on the address of the (modifiable) attribute indicated by the specified attributeName and attributeNameLength 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.

Return Value

non-zero if the attribute is not found, and the value from manipulator otherwise

Parameters

NameDescription
objectsequence whose attribute is manipulated
manipulatorcallable invoked with the attribute and its info
attributeNamename of the attribute to manipulate
attributeNameLengthlength of attributeName