8#ifndef INCLUDED_BDLAR_NULLABLEVALUEVTABLEUTIL
9#define INCLUDED_BDLAR_NULLABLEVALUEVTABLEUTIL
52#include <bdlar_nullablevaluevtable.h>
73 template <
class t_NULLABLE>
74 static int accessValue(
const void *
object,
AccessorRef& accessor);
78 template <
class t_NULLABLE>
79 static bool isNull(
const void *
object);
83 template <
class t_NULLABLE>
84 static void makeValue(
void *
object);
90 template <
class t_NULLABLE>
91 static int manipulateValue(
void *
object,
ManipulatorRef& manipulator);
95 template <
class t_NULLABLE>
96 static void reset(
void *
object);
99 template <
class t_NULLABLE>
103 template <
class t_NULLABLE>
104 static const char *xsdName(
const void *
object,
int format);
115 template <
class t_NULLABLE>
120 template <
class t_NULLABLE>
133template <
class t_NULLABLE>
134int NullableValueVtableUtil::accessValue(
const void *
object,
138 *
static_cast<const t_NULLABLE *
>(
object),
142template <
class t_NULLABLE>
143bool NullableValueVtableUtil::isNull(
const void *
object)
146 *
static_cast<const t_NULLABLE *
>(
object));
149template <
class t_NULLABLE>
150void NullableValueVtableUtil::makeValue(
void *
object)
155template <
class t_NULLABLE>
156int NullableValueVtableUtil::manipulateValue(
void *
object,
157 ManipulatorRef& manipulator)
160 static_cast<t_NULLABLE *
>(
object),
164template <
class t_NULLABLE>
165void NullableValueVtableUtil::reset(
void *
object)
170template <
class t_NULLABLE>
173 typedef typename bdlat_NullableValueFunctions::
174 ValueType<t_NULLABLE>::Type ValueType;
178template <
class t_NULLABLE>
179const char *NullableValueVtableUtil::xsdName(
const void *
object,
int format)
186template <
class t_NULLABLE>
190 &valueCategory<t_NULLABLE>,
191 &accessValue<t_NULLABLE>,
198template <
class t_NULLABLE>
203 &valueCategory<t_NULLABLE>,
204 &accessValue<t_NULLABLE>,
208 &manipulateValue<t_NULLABLE>,
209 &makeValue<t_NULLABLE>,
Definition bdlar_accessorref.h:65
Definition bdlar_manipulatorref.h:65
Definition bdlar_nullablevaluevtableutil.h:66
static const NullableValueVtable * getVtable()
Definition bdlar_nullablevaluevtableutil.h:199
NullableValueConstVtable ConstVtableType
Definition bdlar_nullablevaluevtableutil.h:109
static const NullableValueConstVtable * getConstVtable()
Definition bdlar_nullablevaluevtableutil.h:187
NullableValueVtable VtableType
Definition bdlar_nullablevaluevtableutil.h:108
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 isNull(const TYPE &object)
int manipulateValue(TYPE *object, MANIPULATOR &manipulator)
int accessValue(const TYPE &object, ACCESSOR &accessor)
void makeValue(TYPE *object)
void reset(TYPE *object)
Reset the value of the specified object to its default value.
Definition bdlar_nullablevaluevtable.h:71
Definition bdlar_nullablevaluevtable.h:94
static const BSLS_KEYWORD_CONSTEXPR bdlat_TypeCategory::Value e_SELECTION
Definition bdlar_typecategory.h:156
Value
Definition bdlat_typecategory.h:1046