BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdlar::AnyConstRef Class Reference

#include <bdlar_anyref.h>

Detailed Description

A type-erased universal wrapper for reference to any type category with read-only access.

See bdlar_anyref

Public Member Functions

 AnyConstRef (const void *objectAddress, const SimpleTypeConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const EnumConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const NullableValueConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const ArrayConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const SequenceConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const ChoiceConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const CustomizedTypeConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, const DynamicTypeConstVtable *vtable)
 
 AnyConstRef (const void *objectAddress, AnyConstVtable vtable, bdlat_TypeCategory::Value category)
 
 AnyConstRef (const AnyConstRefData &data)
 
 AnyConstRef (const AnyRef &object)
 
const ArrayConstVtable * arrayVtable () const
 
const ChoiceConstVtable * choiceVtable () const
 
const CustomizedTypeConstVtable * customizedTypeVtable () const
 
const DynamicTypeConstVtable * dynamicTypeVtable () const
 
const EnumConstVtable * enumVtable () const
 
const NullableValueConstVtable * nullableValueVtable () const
 
const SequenceConstVtable * sequenceVtable () const
 
const SimpleTypeConstVtable * simpleTypeVtable () const
 
const void * objectAddress () const
 
bdlat_TypeCategory::Value typeCategory () const
 
const char * xsdName (int format) const
 

Constructor & Destructor Documentation

◆ AnyConstRef() [1/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const SimpleTypeConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [2/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const EnumConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [3/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const NullableValueConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [4/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const ArrayConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [5/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const SequenceConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [6/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const ChoiceConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [7/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const CustomizedTypeConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [8/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
const DynamicTypeConstVtable *  vtable 
)
inline

Create an AnyConstRef object.

Precondition
The behaviour is undefined unless objectAddress and vtable point to the valid objects.

◆ AnyConstRef() [9/11]

bdlar::AnyConstRef::AnyConstRef ( const void *  objectAddress,
AnyConstVtable  vtable,
bdlat_TypeCategory::Value  category 
)
inline

Create an AnyConstRef object.

◆ AnyConstRef() [10/11]

bdlar::AnyConstRef::AnyConstRef ( const AnyConstRefData &  data)
inline

Create an AnyConstRef object.

◆ AnyConstRef() [11/11]

bdlar::AnyConstRef::AnyConstRef ( const AnyRef &  object)

Create an AnyConstRef object that wraps the same object as the specified object.

Member Function Documentation

◆ arrayVtable()

const ArrayConstVtable * bdlar::AnyConstRef::arrayVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_ARRAY_CATEGORY.

◆ choiceVtable()

const ChoiceConstVtable * bdlar::AnyConstRef::choiceVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_CHOICE_CATEGORY.

◆ customizedTypeVtable()

const CustomizedTypeConstVtable * bdlar::AnyConstRef::customizedTypeVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_CUSTOMIZED_TYPE_CATEGORY.

◆ dynamicTypeVtable()

const DynamicTypeConstVtable * bdlar::AnyConstRef::dynamicTypeVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_DYNAMIC_CATEGORY.

◆ enumVtable()

const EnumConstVtable * bdlar::AnyConstRef::enumVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_ENUMERATION_CATEGORY.

◆ nullableValueVtable()

const NullableValueConstVtable * bdlar::AnyConstRef::nullableValueVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_NULLABLE_VALUE_CATEGORY.

◆ objectAddress()

const void * bdlar::AnyConstRef::objectAddress ( ) const
inline

Return a pointer to the wrapped object.

◆ sequenceVtable()

const SequenceConstVtable * bdlar::AnyConstRef::sequenceVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_SEQUENCE_CATEGORY.

◆ simpleTypeVtable()

const SimpleTypeConstVtable * bdlar::AnyConstRef::simpleTypeVtable ( ) const
inline

Return a pointer to the vtable.

Precondition
The behavior is undefined unless typeCategory() == bdlat_TypeCategory::e_SIMPLE_CATEGORY.

◆ typeCategory()

bdlat_TypeCategory::Value bdlar::AnyConstRef::typeCategory ( ) const
inline

Return type category of the referred object.

◆ xsdName()

const char * bdlar::AnyConstRef::xsdName ( int  format) const

Return the bdlat_TypeName::xsdName value for the underlying object.


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