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 ArrayConstVtablearrayVtable () const
 
const ChoiceConstVtablechoiceVtable () const
 
const CustomizedTypeConstVtablecustomizedTypeVtable () const
 
const DynamicTypeConstVtabledynamicTypeVtable () const
 
const EnumConstVtableenumVtable () const
 
const NullableValueConstVtablenullableValueVtable () const
 
const SequenceConstVtablesequenceVtable () const
 
const SimpleTypeConstVtablesimpleTypeVtable () 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: