8#ifndef INCLUDED_BDLAR_CHOICEVTABLEUTIL
9#define INCLUDED_BDLAR_CHOICEVTABLEUTIL
52#include <bdlar_choicevtable.h>
74 template <
class t_CHOICE>
75 static int accessSelection(
const void *
object,
80 template <
class t_CHOICE>
81 static bool hasSelectionId(
const void *
object,
int selectionId);
86 template <
class t_CHOICE>
87 static bool hasSelectionName(
const void *
object,
88 const char *selectionName,
89 int selectionNameLength);
95 template <
class t_CHOICE>
96 static int makeSelectionById(
void *
object,
int selectionId);
102 template <
class t_CHOICE>
103 static int makeSelectionByName(
void *
object,
104 const char *selectionName,
105 int selectionNameLength);
113 template <
class t_CHOICE>
114 static int manipulateSelection(
void *
object,
119 template <
class t_CHOICE>
120 static void reset(
void *
object);
124 template <
class t_CHOICE>
125 static int selectionId(
const void *
object);
128 template <
class t_CHOICE>
129 static const char *xsdName(
const void *
object,
int format);
140 template <
class t_CHOICE>
145 template <
class t_CHOICE>
158template <
class t_CHOICE>
159int ChoiceVtableUtil::accessSelection(
const void *
object,
163 *
static_cast<const t_CHOICE *
>(
object),
167template <
class t_CHOICE>
168bool ChoiceVtableUtil::hasSelectionId(
const void *
object,
int selectionId)
171 *
static_cast<const t_CHOICE *
>(
object),
175template <
class t_CHOICE>
176bool ChoiceVtableUtil::hasSelectionName(
const void *
object,
177 const char *selectionName,
178 int selectionNameLength)
181 *
static_cast<const t_CHOICE *
>(
object),
183 selectionNameLength);
186template <
class t_CHOICE>
187int ChoiceVtableUtil::makeSelectionById(
void *
object,
int selectionId)
190 static_cast<t_CHOICE *
>(
object),
194template <
class t_CHOICE>
195int ChoiceVtableUtil::makeSelectionByName(
void *
object,
196 const char *selectionName,
197 int selectionNameLength)
200 static_cast<t_CHOICE *
>(
object),
202 selectionNameLength);
205template <
class t_CHOICE>
206int ChoiceVtableUtil::manipulateSelection(
void *
object,
207 ManipulatorWithInfoRef& manipulator)
210 static_cast<t_CHOICE *
>(
object),
214template <
class t_CHOICE>
215void ChoiceVtableUtil::reset(
void *
object)
220template <
class t_CHOICE>
221int ChoiceVtableUtil::selectionId(
const void *
object)
224 *
static_cast<const t_CHOICE *
>(
object));
227template <
class t_CHOICE>
228const char *ChoiceVtableUtil::xsdName(
const void *
object,
int format)
235template <
class t_CHOICE>
239 &selectionId<t_CHOICE>,
240 &hasSelectionId<t_CHOICE>,
241 &hasSelectionName<t_CHOICE>,
242 &accessSelection<t_CHOICE>,
248template <
class t_CHOICE>
253 &selectionId<t_CHOICE>,
254 &hasSelectionId<t_CHOICE>,
255 &hasSelectionName<t_CHOICE>,
256 &accessSelection<t_CHOICE>,
259 &makeSelectionById<t_CHOICE>,
260 &makeSelectionByName<t_CHOICE>,
261 &manipulateSelection<t_CHOICE>,
Definition bdlar_accessorref.h:109
Definition bdlar_choicevtableutil.h:65
static const ChoiceConstVtable * getConstVtable()
Definition bdlar_choicevtableutil.h:236
ChoiceVtable VtableType
Definition bdlar_choicevtableutil.h:133
ChoiceConstVtable ConstVtableType
Definition bdlar_choicevtableutil.h:134
static const ChoiceVtable * getVtable()
Definition bdlar_choicevtableutil.h:249
Definition bdlar_manipulatorref.h:109
static const char * xsdName(const TYPE &object, int format)
Definition bdlat_typename.h:1047
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlar_accessorref.h:59
bool hasSelection(const TYPE &object, const char *selectionName, int selectionNameLength)
int manipulateSelection(TYPE *object, MANIPULATOR &manipulator)
int makeSelection(TYPE *object, int selectionId)
int accessSelection(const TYPE &object, ACCESSOR &accessor)
int selectionId(const TYPE &object)
void reset(TYPE *object)
Reset the value of the specified object to its default value.
Definition bdlar_choicevtable.h:69
Definition bdlar_choicevtable.h:97