8#ifndef INCLUDED_BDLAR_ENUMREF
9#define INCLUDED_BDLAR_ENUMREF
53#include <bdlar_enumvtable.h>
59#include <bsl_type_traits.h>
78 template <
class t_ENUM>
79 explicit EnumRef(t_ENUM& enumeration,
99 int fromString(
const char *
string,
int stringLength)
const;
127 void toInt(
int *result)
const;
140 const void *d_object_p;
148 template <
class t_ENUM>
180 void toInt(
int *result)
const;
187 const char *
xsdName(
int format)
const;
199template <
class t_ENUM>
204: d_object_p(&enumeration)
211: d_object_p(objectAddress)
284 return result->
fromInt(number);
290 return result->
fromString(
string, stringLength);
334template <
class t_ENUM>
339: d_object_p(&enumeration)
347: d_object_p(objectAddress)
354: d_object_p(object.objectAddress())
355, d_vtable_p(&object.vtable()->d_const)
432 return ref.xsdName(format);
Definition bdlar_enumref.h:138
const char * xsdName(int format) const
Return the bdlat_TypeName::xsdName value for the underlying object.
Definition bdlar_enumref.h:397
const EnumConstVtable * vtable() const
Return a pointer to the vtable.
Definition bdlar_enumref.h:361
bool isFallback() const
Definition bdlar_enumref.h:373
void toInt(int *result) const
Definition bdlar_enumref.h:385
bool hasFallback() const
Definition bdlar_enumref.h:367
EnumConstRef(const t_ENUM &enumeration, typename bsl::enable_if< IsEnum< t_ENUM >::value >::type *=0)
Definition bdlar_enumref.h:336
const void * objectAddress() const
Return a pointer to the wrapped object.
Definition bdlar_enumref.h:379
void toString(bsl::string *result) const
Definition bdlar_enumref.h:391
Definition bdlar_enumref.h:68
void toInt(int *result) const
Definition bdlar_enumref.h:267
bool isFallback() const
Definition bdlar_enumref.h:255
int makeFallback() const
Definition bdlar_enumref.h:230
int fromInt(int number) const
Definition bdlar_enumref.h:218
bool hasFallback() const
Definition bdlar_enumref.h:249
void reset() const
Reset the referred object to the default value.
Definition bdlar_enumref.h:236
void * objectAddress() const
Return a pointer to the wrapped object.
Definition bdlar_enumref.h:261
EnumRef(t_ENUM &enumeration, typename bsl::enable_if< IsEnum< t_ENUM >::value >::type *=0)
Definition bdlar_enumref.h:201
int fromString(const char *string, int stringLength) const
Definition bdlar_enumref.h:224
void toString(bsl::string *result) const
Definition bdlar_enumref.h:273
const EnumVtable * vtable() const
Return a pointer to the vtable.
Definition bdlar_enumref.h:243
Definition bdlar_enumvtableutil.h:65
Definition bslstl_string.h:1252
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlar_accessorref.h:59
void bdlat_enumToString(bsl::string *result, const EnumRef &value)
Definition bdlar_enumref.h:318
int bdlat_enumFromString(EnumRef *result, const char *string, int stringLength)
Definition bdlar_enumref.h:288
int bdlat_enumFromInt(EnumRef *result, int number)
Definition bdlar_enumref.h:282
void bdlat_enumToInt(int *result, const EnumRef &value)
Definition bdlar_enumref.h:312
const char * bdlat_TypeName_xsdName(const AnyConstRef &ref, int format)
Definition bdlar_anyref.h:716
void bdlat_valueTypeReset(AnyRef *ref)
Definition bdlar_anyref.h:550
int bdlat_enumMakeFallback(EnumRef *result)
Definition bdlar_enumref.h:294
bool bdlat_enumHasFallback(const EnumRef &value)
Definition bdlar_enumref.h:300
bool bdlat_enumIsFallback(const EnumRef &value)
Definition bdlar_enumref.h:306
Definition bdlar_enumref.h:437
Definition bdlar_enumvtable.h:67
ToInt * d_toInt_fp
Definition bdlar_enumvtable.h:76
ToString * d_toString_fp
Definition bdlar_enumvtable.h:77
HasFallback * d_hasFallback_fp
Definition bdlar_enumvtable.h:78
IsFallback * d_isFallback_fp
Definition bdlar_enumvtable.h:79
XsdName * d_xsdName_fp
Definition bdlar_enumvtable.h:80
Definition bdlar_enumvtable.h:92
Reset * d_reset_fp
Definition bdlar_enumvtable.h:104
EnumConstVtable d_const
Definition bdlar_enumvtable.h:100
FromInt * d_fromInt_fp
Definition bdlar_enumvtable.h:101
MakeFallback * d_makeFallback_fp
Definition bdlar_enumvtable.h:103
FromString * d_fromString_fp
Definition bdlar_enumvtable.h:102
Definition bdlar_typecategory.h:105
Definition bdlat_enumfunctions.h:411
Definition bdlat_enumfunctions.h:398
Definition bslmf_enableif.h:530