8#ifndef INCLUDED_BDLAR_CHOICEREF
9#define INCLUDED_BDLAR_CHOICEREF
53#include <bdlar_choicevtable.h>
78 template <
class t_CHOICE>
81 IsChoice<t_CHOICE>::value>::type * = 0);
100 int selectionNameLength)
const;
113 template <
typename t_MANIPULATOR>
132 template <
typename t_ACCESSOR>
146 int selectionNameLength)
const;
162 const void *d_object_p;
170 template <
class t_CHOICE>
173 IsChoice<t_CHOICE>::value>::type * = 0);
197 template <
typename t_ACCESSOR>
211 int selectionNameLength)
const;
221 const char *
xsdName(
int format)
const;
233template <
class t_CHOICE>
237 IsChoice<t_CHOICE>::value>::type *)
245: d_object_p(objectAddress)
259 int selectionNameLength)
const
263 selectionNameLength);
266template <
typename t_MANIPULATOR>
271 manipulatorRef(manipulator);
282template <
typename t_ACCESSOR>
287 accessorRef(accessor);
299 int selectionNameLength)
const
303 selectionNameLength);
330 return ref->makeSelection(selectionId);
335 const char *selectionName,
336 int selectionNameLength)
338 return ref->makeSelection(selectionName, selectionNameLength);
341template <
class t_MANIPULATOR>
345 return ref->manipulateSelection(manipulator);
348template <
class t_ACCESSOR>
352 return ref.accessSelection(accessor);
357 const char *selectionName,
358 int selectionNameLength)
360 return ref.hasSelection(selectionName, selectionNameLength);
366 return ref.hasSelection(selectionId);
372 return ref.selectionId();
386template <
class t_CHOICE>
390 IsChoice<t_CHOICE>::value>::type *)
399: d_object_p(objectAddress)
406: d_object_p(object.objectAddress())
407, d_vtable_p(&object.vtable()->d_const)
412template <
typename t_ACCESSOR>
417 accessorRef(accessor);
429 int selectionNameLength)
const
433 selectionNameLength);
463template <
class t_ACCESSOR>
466 t_ACCESSOR& accessor)
468 return ref.accessSelection(accessor);
473 const char *selectionName,
474 int selectionNameLength)
476 return ref.hasSelection(selectionName, selectionNameLength);
482 return ref.hasSelection(selectionId);
488 return ref.selectionId();
494 return ref.xsdName(format);
Definition bdlar_choiceref.h:160
int accessSelection(t_ACCESSOR &accessor) const
Definition bdlar_choiceref.h:414
bool hasSelection(int selectionId) const
Definition bdlar_choiceref.h:422
ChoiceConstRef(const t_CHOICE &choice, typename bsl::enable_if< IsChoice< t_CHOICE >::value >::type *=0)
Definition bdlar_choiceref.h:388
const char * xsdName(int format) const
Return the bdlat_TypeName::xsdName value for the underlying object.
Definition bdlar_choiceref.h:455
const void * objectAddress() const
Return a pointer to the wrapped array.
Definition bdlar_choiceref.h:443
int selectionId() const
Definition bdlar_choiceref.h:449
const ChoiceConstVtable * vtable() const
Return a pointer to the vtable.
Definition bdlar_choiceref.h:437
Definition bdlar_choiceref.h:68
bool hasSelection(int selectionId) const
Definition bdlar_choiceref.h:292
int manipulateSelection(t_MANIPULATOR &manipulator) const
Definition bdlar_choiceref.h:268
int makeSelection(int selectionId) const
Definition bdlar_choiceref.h:252
int selectionId() const
Definition bdlar_choiceref.h:319
int accessSelection(t_ACCESSOR &accessor) const
Definition bdlar_choiceref.h:284
void reset() const
Reset the referred object to the default value.
Definition bdlar_choiceref.h:276
void * objectAddress() const
Return a pointer to the wrapped array.
Definition bdlar_choiceref.h:313
const ChoiceVtable * vtable() const
Return a pointer to the vtable.
Definition bdlar_choiceref.h:307
ChoiceRef(t_CHOICE &choice, typename bsl::enable_if< IsChoice< t_CHOICE >::value >::type *=0)
Definition bdlar_choiceref.h:235
Definition bdlar_choicevtableutil.h:65
Definition bdlar_dynamictyperef.h:128
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlar_accessorref.h:59
int bdlat_choiceAccessSelection(const ChoiceRef &ref, t_ACCESSOR &accessor)
Definition bdlar_choiceref.h:350
const char * bdlat_TypeName_xsdName(const AnyConstRef &ref, int format)
Definition bdlar_anyref.h:716
int bdlat_choiceSelectionId(const ChoiceRef &ref)
Definition bdlar_choiceref.h:370
void bdlat_valueTypeReset(AnyRef *ref)
Definition bdlar_anyref.h:550
bool bdlat_choiceHasSelection(const ChoiceRef &ref, const char *selectionName, int selectionNameLength)
Definition bdlar_choiceref.h:356
int bdlat_choiceMakeSelection(ChoiceRef *ref, int selectionId)
Definition bdlar_choiceref.h:328
int bdlat_choiceManipulateSelection(ChoiceRef *ref, t_MANIPULATOR &manipulator)
Definition bdlar_choiceref.h:343
Definition bdlar_choiceref.h:499
Definition bdlar_choicevtable.h:69
HasSelectionId * d_hasSelectionId_fp
Definition bdlar_choicevtable.h:82
XsdName * d_xsdName_fp
Definition bdlar_choicevtable.h:85
HasSelectionName * d_hasSelectionName_fp
Definition bdlar_choicevtable.h:83
SelectionId * d_selectionId_fp
Definition bdlar_choicevtable.h:81
AccessSelection * d_accessSelection_fp
Definition bdlar_choicevtable.h:84
Definition bdlar_choicevtable.h:97
ChoiceConstVtable d_const
Definition bdlar_choicevtable.h:108
MakeSelectionByName * d_makeSelectionByName_fp
Definition bdlar_choicevtable.h:110
ManipulateSelection * d_manipulateSelection_fp
Definition bdlar_choicevtable.h:111
MakeSelectionById * d_makeSelectionById_fp
Definition bdlar_choicevtable.h:109
Reset * d_reset_fp
Definition bdlar_choicevtable.h:112
Definition bdlat_choicefunctions.h:532
Definition bslmf_enableif.h:530