BDE 4.39.x Production Release
Loading...
Searching...
No Matches

Classes

struct  IsNullableValue
 
struct  IsNullableValue< bdlar::NullableValueConstRef >
 
struct  IsNullableValue< bdlar::NullableValueRef >
 
struct  IsNullableValue< bdlb::NullableAllocatedValue< TYPE > >
 
struct  IsNullableValue< bdlb::NullableValue< TYPE > >
 
struct  IsNullableValue< s_baltst::TestDynamicType< VALUE_TYPE > >
 
struct  IsNullableValue< s_baltst::TestTaggedValue< TAG_TYPE, VALUE_TYPE > >
 
struct  ValueType
 
struct  ValueType< bdlar::NullableValueConstRef >
 
struct  ValueType< bdlar::NullableValueRef >
 
struct  ValueType< bdlb::NullableAllocatedValue< TYPE > >
 
struct  ValueType< bdlb::NullableValue< TYPE > >
 
struct  ValueType< s_baltst::TestDynamicType< VALUE_TYPE > >
 
struct  ValueType< s_baltst::TestTaggedValue< TAG_TYPE, VALUE_TYPE > >
 

Functions

template<class TYPE >
void makeValue (TYPE *object)
 
template<class TYPE , class MANIPULATOR >
int manipulateValue (TYPE *object, MANIPULATOR &manipulator)
 
template<class TYPE , class ACCESSOR >
int accessValue (const TYPE &object, ACCESSOR &accessor)
 
template<class TYPE >
bool isNull (const TYPE &object)
 
template<class TYPE >
void bdlat_nullableValueMakeValue (bdlb::NullableValue< TYPE > *object)
 
template<class TYPE , class MANIPULATOR >
int bdlat_nullableValueManipulateValue (bdlb::NullableValue< TYPE > *object, MANIPULATOR &manipulator)
 
template<class TYPE , class ACCESSOR >
int bdlat_nullableValueAccessValue (const bdlb::NullableValue< TYPE > &object, ACCESSOR &accessor)
 
template<class TYPE >
bool bdlat_nullableValueIsNull (const bdlb::NullableValue< TYPE > &object)
 
template<class TYPE >
void bdlat_nullableValueMakeValue (bdlb::NullableAllocatedValue< TYPE > *object)
 
template<class TYPE , class MANIPULATOR >
int bdlat_nullableValueManipulateValue (bdlb::NullableAllocatedValue< TYPE > *object, MANIPULATOR &manipulator)
 
template<class TYPE , class ACCESSOR >
int bdlat_nullableValueAccessValue (const bdlb::NullableAllocatedValue< TYPE > &object, ACCESSOR &accessor)
 
template<class TYPE >
bool bdlat_nullableValueIsNull (const bdlb::NullableAllocatedValue< TYPE > &object)
 

Detailed Description

This namespace provides functions that expose "nullable" behavior for "nullable value" types. See the component-level documentation for more information.

This namespace declaration adds the implementation of the "nullable value" traits for bdlb::NullableValue to bdlat_NullableValueFunctions.

Note
Note that bdlb::NullableValue is the first of two canonical "nullable value" types.

This namespace declaration adds the implementation of the "nullable value" traits for bdlb::NullableAllocatedValue to bdlat_NullableValueFunctions.

Note
Note that bdlb::NullableAllocatedValue is the second of two canonical "nullable value" types.

Function Documentation

◆ accessValue()

template<class TYPE , class ACCESSOR >
int bdlat_NullableValueFunctions::accessValue ( const TYPE &  object,
ACCESSOR &  accessor 
)

Invoke the specified accessor on the non-modifiable value stored in the specified "nullable" object. The supplied accessor must be a callable type that can be called as if it had the following signature:

int accessor(const VALUE_TYPE& value);

Return the value from the invocation of accessor.

Precondition
The behavior is undefined unless object does not contain a null value.

◆ bdlat_nullableValueAccessValue() [1/2]

template<class TYPE , class ACCESSOR >
int bdlat_NullableValueFunctions::bdlat_nullableValueAccessValue ( const bdlb::NullableAllocatedValue< TYPE > &  object,
ACCESSOR &  accessor 
)

◆ bdlat_nullableValueAccessValue() [2/2]

template<class TYPE , class ACCESSOR >
int bdlat_NullableValueFunctions::bdlat_nullableValueAccessValue ( const bdlb::NullableValue< TYPE > &  object,
ACCESSOR &  accessor 
)

◆ bdlat_nullableValueIsNull() [1/2]

template<class TYPE >
bool bdlat_NullableValueFunctions::bdlat_nullableValueIsNull ( const bdlb::NullableAllocatedValue< TYPE > &  object)

◆ bdlat_nullableValueIsNull() [2/2]

template<class TYPE >
bool bdlat_NullableValueFunctions::bdlat_nullableValueIsNull ( const bdlb::NullableValue< TYPE > &  object)

◆ bdlat_nullableValueMakeValue() [1/2]

template<class TYPE >
void bdlat_NullableValueFunctions::bdlat_nullableValueMakeValue ( bdlb::NullableAllocatedValue< TYPE > *  object)

◆ bdlat_nullableValueMakeValue() [2/2]

template<class TYPE >
void bdlat_NullableValueFunctions::bdlat_nullableValueMakeValue ( bdlb::NullableValue< TYPE > *  object)

◆ bdlat_nullableValueManipulateValue() [1/2]

template<class TYPE , class MANIPULATOR >
int bdlat_NullableValueFunctions::bdlat_nullableValueManipulateValue ( bdlb::NullableAllocatedValue< TYPE > *  object,
MANIPULATOR &  manipulator 
)

◆ bdlat_nullableValueManipulateValue() [2/2]

template<class TYPE , class MANIPULATOR >
int bdlat_NullableValueFunctions::bdlat_nullableValueManipulateValue ( bdlb::NullableValue< TYPE > *  object,
MANIPULATOR &  manipulator 
)

◆ isNull()

template<class TYPE >
bool bdlat_NullableValueFunctions::isNull ( const TYPE &  object)

Return true if the specified "nullable" object contains a null value, and false otherwise.

◆ makeValue()

template<class TYPE >
void bdlat_NullableValueFunctions::makeValue ( TYPE *  object)

Assign to the specified "nullable" object the default value for the contained type.

◆ manipulateValue()

template<class TYPE , class MANIPULATOR >
int bdlat_NullableValueFunctions::manipulateValue ( TYPE *  object,
MANIPULATOR &  manipulator 
)

Invoke the specified manipulator on the address of the value stored in the specified "nullable" object. The supplied manipulator must be a callable type that can be called as if it had the following signature:

int manipulator(VALUE_TYPE *value);

Return the value from the invocation of manipulator.

Precondition
The behavior is undefined unless object does not contain a null value.