Quick Links: |
#include <bdlat_nullablevalueutil.h>
Classes | |
class | AccessByCategoryAdapter |
class | ManipulateByCategoryAdapter |
Static Public Member Functions | |
template<class TYPE , class ACCESSOR > | |
static int | accessValueByCategory (const TYPE &object, ACCESSOR &accessor) |
template<class TYPE , class MANIPULATOR > | |
static int | manipulateValueByCategory (TYPE *object, MANIPULATOR &manipulator) |
This struct
provides a namespace for a suite of function templates providing non-primitive operations on "nullable value" types.
See Component bdlat_nullablevalueutil
static int bdlat::NullableValueUtil::accessValueByCategory | ( | const TYPE & | object, | |
ACCESSOR & | accessor | |||
) | [static] |
Invoke the specified accessor
on the non-modifiable value stored in the specified "nullable" object
and on a prvalue of the category tag type for the dynamic category of the value. 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 if object
contains a null value.
Referenced by balxml::TypesPrintUtilImp_PrintListElementDefault::operator()().
static int bdlat::NullableValueUtil::manipulateValueByCategory | ( | TYPE * | object, | |
MANIPULATOR & | manipulator | |||
) | [static] |
Invoke the specified manipulator
on the address of the value stored in the specified "nullable" object
and on a prvalue of the category tag type for the dynamic category of the value. 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 if object
contains a null value.