Quick Links:

bal | bbl | bdl | bsl

Classes | Static Public Member Functions

bdlat::NullableValueUtil Struct Reference

#include <bdlat_nullablevalueutil.h>

List of all members.

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)

Detailed Description

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

See Component bdlat_nullablevalueutil


Member Function Documentation

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

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


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