Quick Links:

bal | bbl | bdl | bsl

Functions

bdlat_TypeCategoryFunctions Namespace Reference
[Component bdlat_typecategory]

Functions

template<class TYPE , class MANIPULATOR >
int manipulateArray (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateChoice (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateCustomizedType (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateEnumeration (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateNullableValue (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateSequence (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int manipulateSimple (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class ACCESSOR >
int accessArray (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessChoice (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessCustomizedType (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessEnumeration (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessNullableValue (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessSequence (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int accessSimple (const TYPE &object, ACCESSOR &accessor)
template<class TYPE >
bdlat_TypeCategory::Value select (const TYPE &object)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateArray (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateChoice (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateCustomizedType (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateEnumeration (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateNullableValue (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateSequence (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class MANIPULATOR >
int bdlat_typeCategoryManipulateSimple (TYPE *object, MANIPULATOR &manipulator)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessArray (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessChoice (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessCustomizedType (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessEnumeration (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessNullableValue (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessSequence (const TYPE &object, ACCESSOR &accessor)
template<class TYPE , class ACCESSOR >
int bdlat_typeCategoryAccessSimple (const TYPE &object, ACCESSOR &accessor)
template<class TYPE >
bdlat_TypeCategory::Value bdlat_typeCategorySelect (const TYPE &object)

Function Documentation

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateArray ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::Array tag object (2nd argument). If object is not a bdlat "array" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateChoice ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::Choice tag object (2nd argument). If object is not a bdlat "choice" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateCustomizedType ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::CustomizedType tag object (2nd argument). If object is not a bdlat "customized type" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateEnumeration ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::Enumeration tag object (2nd argument). If object is not a bdlat "enumeration" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateNullableValue ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::NullableValue tag object (2nd argument). If object is not a bdlat "nullable value" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateSequence ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::Sequence tag object (2nd argument). If object is not a bdlat "sequence" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::manipulateSimple ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Return the result of invoking the specified manipulator with the specified object (1st argument) and a bdlat_TypeCategory::Simple tag object (2nd argument). If object is not a bdlat "simple" type, pass a bslmf::Nil tag object as the second argument. See MANIPULATOR Functors for the requirements on manipulator.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessArray ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::Array tag object (2nd argument). If object is not a bdlat "array" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessChoice ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::Choice tag object (2nd argument). If object is not a bdlat "choice" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessCustomizedType ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::CustomizedType tag object (2nd argument). If object is not a bdlat "customized type" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessEnumeration ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::Enumeration tag object (2nd argument). If object is not a bdlat "enumeration type" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessNullableValue ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::NullableValue tag object (2nd argument). If object is not a bdlat "nullable value" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessSequence ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::Sequence tag object (2nd argument). If object is not a bdlat "sequence" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::accessSimple ( const TYPE &  object,
ACCESSOR &  accessor 
)

Return the result of invoking the specified accessor with the specified object (1st argument) and a bdlat_TypeCategory::Simple tag object (2nd argument). If object is not a bdlat "simple" type, pass a bslmf::Nil tag object as the second argument. See ACCESSOR Functors for the requirements on accessor.

template<class TYPE >
bdlat_TypeCategory::Value bdlat_TypeCategoryFunctions::select ( const TYPE &  object  ) 

Return the runtime type category for the specified object. The value returned is never bdlat_TypeCategory::e_DYNAMIC_CATEGORY (as "dynamic" is a compile-time distinction). Note that the compile time analog to this function (template) is bdlat_TypeCategory::Select, a meta-function that defines a type corresponding to the category tag class of TYPE.

template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateArray ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateChoice ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateCustomizedType ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateEnumeration ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateNullableValue ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateSequence ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class MANIPULATOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryManipulateSimple ( TYPE *  object,
MANIPULATOR &  manipulator 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessArray ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessChoice ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessCustomizedType ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessEnumeration ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessNullableValue ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessSequence ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE , class ACCESSOR >
int bdlat_TypeCategoryFunctions::bdlat_typeCategoryAccessSimple ( const TYPE &  object,
ACCESSOR &  accessor 
)
template<class TYPE >
bdlat_TypeCategory::Value bdlat_TypeCategoryFunctions::bdlat_typeCategorySelect ( const TYPE &  object  )