8#ifndef INCLUDED_BDLAR_REFUTIL
9#define INCLUDED_BDLAR_REFUTIL
52#include <bdlar_anyref.h>
77#include <bsl_type_traits.h>
91 template <
class t_TYPE>
96 template <
class t_TYPE>
101 template <
class t_TYPE>
106 template <
class t_TYPE>
111 template <
class t_TYPE>
116 template <
class t_TYPE>
121 template <
class t_TYPE>
126 template <
class t_TYPE>
131 template <
class t_TYPE>
137 template <
class t_TYPE>
142 template <
class t_TYPE>
147 template <
class t_TYPE>
152 template <
class t_TYPE>
158 template <
class t_TYPE>
163 template <
class t_TYPE>
168 template <
class t_TYPE>
173 template <
class t_TYPE>
178 template <
class t_TYPE>
191template <
class t_TYPE>
199template <
class t_TYPE>
206template <
class t_TYPE>
214template <
class t_TYPE>
221template <
class t_TYPE>
229template <
class t_TYPE>
237template <
class t_TYPE>
245template <
class t_TYPE>
250 return ChoiceConstRef(
object);
253template <
class t_TYPE>
258 return CustomizedTypeRef(
object);
261template <
class t_TYPE>
264CustomizedTypeConstRef>::type
RefUtil::wrap(
const t_TYPE&
object)
266 return CustomizedTypeConstRef(
object);
269template <
class t_TYPE>
274 return EnumRef(
object);
277template <
class t_TYPE>
282 return EnumConstRef(
object);
285template <
class t_TYPE>
290 return NullableValueRef(
object);
293template <
class t_TYPE>
296NullableValueConstRef>::type
RefUtil::wrap(
const t_TYPE&
object)
298 return NullableValueConstRef(
object);
301template <
class t_TYPE>
306 return SequenceRef(
object);
309template <
class t_TYPE>
314 return SequenceConstRef(
object);
317template <
class t_TYPE>
322 return SimpleTypeRef(
object);
325template <
class t_TYPE>
330 return SimpleTypeConstRef(
object);
Definition bdlar_anyref.h:247
Definition bdlar_anyref.h:85
Definition bdlar_arrayref.h:147
Definition bdlar_arrayref.h:72
Definition bdlar_choiceref.h:160
Definition bdlar_choiceref.h:68
Definition bdlar_customizedtyperef.h:136
Definition bdlar_customizedtyperef.h:73
Definition bdlar_dynamictyperef.h:128
Definition bdlar_dynamictyperef.h:77
Definition bdlar_enumref.h:138
Definition bdlar_enumref.h:68
Definition bdlar_nullablevalueref.h:147
Definition bdlar_nullablevalueref.h:72
Definition bdlar_refutil.h:86
static bsl::enable_if< IsDynamic< t_TYPE >::value, AnyConstRef >::type makeAnyConstRef(const t_TYPE &object)
Make AnyConstRef to the specified dynamic object.
static bsl::enable_if< IsSequence< t_TYPE >::value, SequenceConstRef >::type wrap(const t_TYPE &object)
Make SequenceConstRef to the specified "sequence" object.
static bsl::enable_if< IsCustomized< t_TYPE >::value, CustomizedTypeConstRef >::type wrap(const t_TYPE &object)
static bsl::enable_if< IsNullable< t_TYPE >::value, NullableValueConstRef >::type wrap(const t_TYPE &object)
static bsl::enable_if< IsCustomized< t_TYPE >::value, CustomizedTypeRef >::type wrap(t_TYPE &object)
Make CustomizedTypeRef to the specified "customized type" object.
static bsl::enable_if<!IsDynamic< t_TYPE >::value, AnyConstRef >::type makeAnyConstRef(const t_TYPE &object)
Make AnyConstRef to the specified object.
Definition bdlar_refutil.h:194
static bsl::enable_if< IsDynamic< t_TYPE >::value, AnyRef >::type makeAnyRef(t_TYPE &object)
Make AnyRef to the specified dynamic object.
static bsl::enable_if< IsEnum< t_TYPE >::value, EnumRef >::type wrap(t_TYPE &object)
Make EnumRef to the specified "enumeration" object.
static bsl::enable_if< IsEnum< t_TYPE >::value, EnumConstRef >::type wrap(const t_TYPE &object)
Make EnumConstRef to the specified "enumeration" object.
static bsl::enable_if< IsSimple< t_TYPE >::value, SimpleTypeRef >::type wrap(t_TYPE &object)
Make SimpleTypeRef to the specified "simple" object.
static bsl::enable_if< IsChoice< t_TYPE >::value, ChoiceRef >::type wrap(t_TYPE &object)
Make ChoiceRef to the specified "choice" object.
static bsl::enable_if< IsSimple< t_TYPE >::value, SimpleTypeConstRef >::type wrap(const t_TYPE &object)
Make SimpleTypeConstRef to the specified "simple" object.
static bsl::enable_if< IsChoice< t_TYPE >::value, ChoiceConstRef >::type wrap(const t_TYPE &object)
Make ChoiceConstRef to the specified "choice" object.
static bsl::enable_if< IsSequence< t_TYPE >::value, SequenceRef >::type wrap(t_TYPE &object)
Make SequenceRef to the specified "sequence" object.
static bsl::enable_if<!IsDynamic< t_TYPE >::value, AnyRef >::type makeAnyRef(t_TYPE &object)
Make AnyRef to the specified object.
Definition bdlar_refutil.h:209
static bsl::enable_if< IsNullable< t_TYPE >::value, NullableValueRef >::type wrap(t_TYPE &object)
Make NullableValueRef to the specified "nullable value" object.
static bsl::enable_if< IsArray< t_TYPE >::value, ArrayRef >::type wrap(t_TYPE &object)
Make ArrayRef to the specified "array" object.
Definition bdlar_refutil.h:224
Definition bdlar_sequenceref.h:205
Definition bdlar_sequenceref.h:68
Definition bdlar_simpletyperef.h:216
Definition bdlar_simpletyperef.h:68
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlar_accessorref.h:59
static AnyConstRef toAnyConstRef(const ArrayConstRef &ref)
Cast the specified ref to AnyConstRef.
Definition bdlar_anycastutil.h:202
static AnyRef toAnyRef(const ArrayRef &ref)
Cast the specified ref to AnyRef.
Definition bdlar_anycastutil.h:250
Definition bslmf_enableif.h:530