Quick Links: |
#include <bdlat_typecategory.h>
Static Public Member Functions | |
template<class TYPE , class MANIPULATOR > | |
static int | manipulateByCategory (TYPE *object, MANIPULATOR &manipulator) |
template<class TYPE , class ACCESSOR > | |
static int | accessByCategory (const TYPE &object, ACCESSOR &accessor) |
This struct
contains utility functions that operate on bdlat
compatible objects, implicitly dispatching to the action appropriate for the bdlat
type category of the object.
See Component bdlat_typecategory
static int bdlat_TypeCategoryUtil::manipulateByCategory | ( | TYPE * | object, | |
MANIPULATOR & | manipulator | |||
) | [static] |
Invoke one of the following functions, based on the result of bdlat_TypeCategoryFunctions::select(object)
:
bdlat_TypeCategoryFunctions::manipulateArray
bdlat_TypeCategoryFunctions::manipulateChoice
bdlat_TypeCategoryFunctions::manipulateCustomizedType
bdlat_TypeCategoryFunctions::manipulateEnumeration
bdlat_TypeCategoryFunctions::manipulateNullableValue
bdlat_TypeCategoryFunctions::manipulateSequence
bdlat_TypeCategoryFunctions::manipulateSimple
where each function is invoked with the specified object
and manipulator
. See MANIPULATOR
Functors for the requirements on manipulator
. Return the value returned by the invoked function. The behavior is undefined unless the parameterized TYPE
supports the type category returned by the call to the bdlat_TypeCategoryFunctions::select
function.
static int bdlat_TypeCategoryUtil::accessByCategory | ( | const TYPE & | object, | |
ACCESSOR & | accessor | |||
) | [static] |
Invoke one of the following functions, based on the result of bdlat_TypeCategoryFunctions::select
:
bdlat_TypeCategoryFunctions::accessArray
bdlat_TypeCategoryFunctions::accessChoice
bdlat_TypeCategoryFunctions::accessCustomizedType
bdlat_TypeCategoryFunctions::accessEnumeration
bdlat_TypeCategoryFunctions::accessNullableValue
bdlat_TypeCategoryFunctions::accessSequence
bdlat_TypeCategoryFunctions::accessSimple
where each function is invoked with the specified object
and accessor
. See ACCESSOR
Functors for the requirements on accessor
. Return the value returned by the invoked function. The behavior is undefined unless the parameterized TYPE
supports the type category returned by the call to the bdlat_TypeCategoryFunctions::select
function.