Quick Links:

bal | bbl | bdl | bsl

Classes | Static Public Member Functions

bdlat::ArrayUtil Struct Reference

#include <bdlat_arrayutil.h>

List of all members.

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)

Detailed Description

This struct provides a namespace for suite of function templates providing non-primitive operations on "array" types.

See Component bdlat_arrayutil


Member Function Documentation

template<class TYPE , class ACCESSOR >
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).

template<class TYPE , class MANIPULATOR >
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).


The documentation for this struct was generated from the following file: