8#ifndef INCLUDED_BDLAR_ARRAYVTABLEUTIL
9#define INCLUDED_BDLAR_ARRAYVTABLEUTIL
52#include <bdlar_arrayvtable.h>
74 template <
class t_ARRAY>
75 static int accessElement(
const void *array,
80 template <
class t_ARRAY>
88 template <
class t_ARRAY>
89 static int manipulateElement(
void *array,
95 template <
class t_ARRAY>
96 static void reset(
void *
object);
105 template <
class t_ARRAY>
106 static void resize(
void *array,
int newSize);
109 template <
class t_ARRAY>
110 static bsl::size_t size(
const void *array);
113 template <
class t_ARRAY>
114 static const char *xsdName(
const void *
object,
int format);
125 template <
class t_ARRAY>
130 template <
class t_ARRAY>
143template <
class t_ARRAY>
144int ArrayVtableUtil::accessElement(
const void *array,
149 *
static_cast<const t_ARRAY *
>(array),
154template <
class t_ARRAY>
162template <
class t_ARRAY>
163int ArrayVtableUtil::manipulateElement(
void *array,
164 ManipulatorRef& manipulator,
168 static_cast<t_ARRAY *
>(array),
173template <
class t_ARRAY>
174void ArrayVtableUtil::reset(
void *
object)
179template <
class t_ARRAY>
180void ArrayVtableUtil::resize(
void *array,
int newSize)
185template <
class t_ARRAY>
186bsl::size_t ArrayVtableUtil::size(
const void *array)
191template <
class t_ARRAY>
192const char *ArrayVtableUtil::xsdName(
const void *
object,
int format)
199template <
class t_ARRAY>
203 &elementCategory<t_ARRAY>,
204 &accessElement<t_ARRAY>,
211template <
class t_ARRAY>
216 &elementCategory<t_ARRAY>,
217 &accessElement<t_ARRAY>,
221 &manipulateElement<t_ARRAY>,
Definition bdlar_accessorref.h:65
Definition bdlar_arrayvtableutil.h:66
ArrayVtable VtableType
Definition bdlar_arrayvtableutil.h:118
static const ArrayVtable * getVtable()
Definition bdlar_arrayvtableutil.h:212
static const ArrayConstVtable * getConstVtable()
Definition bdlar_arrayvtableutil.h:200
ArrayConstVtable ConstVtableType
Definition bdlar_arrayvtableutil.h:119
Definition bdlar_manipulatorref.h:65
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
int manipulateElement(TYPE *array, MANIPULATOR &manipulator, int index)
void resize(TYPE *array, int newSize)
bsl::size_t size(const TYPE &array)
Return the number of elements in the specified array.
int accessElement(const TYPE &array, ACCESSOR &accessor, int index)
void reset(TYPE *object)
Reset the value of the specified object to its default value.
Definition bdlar_arrayvtable.h:71
Definition bdlar_arrayvtable.h:96
static const BSLS_KEYWORD_CONSTEXPR bdlat_TypeCategory::Value e_SELECTION
Definition bdlar_typecategory.h:156
Definition bdlat_arrayfunctions.h:756
Value
Definition bdlat_typecategory.h:1046