Quick Links: |
#include <bdlat_arrayutil.h>
Classes | |
class | AccessByCategoryAdapter |
class | ManipulateByCategoryAdapter |
Static Public Member Functions | |
template<class TYPE , class ACCESSOR > | |
static int | accessElementByCategory (const TYPE &array, ACCESSOR &accessor, int index) |
template<class TYPE , class MANIPULATOR > | |
static int | manipulateElementByCategory (TYPE *array, MANIPULATOR &manipulator, int index) |
This struct
provides a namespace for suite of function templates providing non-primitive operations on "array" types.
static int bdlat::ArrayUtil::accessElementByCategory | ( | const TYPE & | array, | |
ACCESSOR & | accessor, | |||
int | index | |||
) | [static] |
Invoke the specified accessor
on the non-modifiable element at the specified index
of the specified array
and on a prvalue of the category tag type for the dynamic category of the element. See bdlat_typecategory
|Category Tags and Enumerators for documentation about category tags. Return the value from the invocation of accessor
. The accessor must be an accessor functor. See bdlat_typecategory'|'ACCESSOR
Functors for the requirements on accessor
. The behavior is undefined unless 0 <= index < bdlat_ArrayFunctions::size(array)
.
static int bdlat::ArrayUtil::manipulateElementByCategory | ( | TYPE * | array, | |
MANIPULATOR & | manipulator, | |||
int | index | |||
) | [static] |
Invoke the specified manipulator
on the address of the element at the specified index
of the specified array
and on a prvalue of the category tag type for the dynamic category of the element. See bdlat_typecategory
|Category Tags and Enumerators for documentation about category tags. Return the value from the invocation of manipulator
. The manipulator
must be a manipulator functor. See bdlat_typecategory'|'MANIPULATOR
Functors for the requirements on manipulator
. The behavior is undefined unless 0 <= index < bdlat_ArrayFunctions::size(array)
.