221#ifdef BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES
222 template <
class t_TYPE>
225 template <
class t_TYPE>
229 template <
class t_TYPE>
232 template <
class t_TYPE>
239#ifdef BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES
240 template <
class t_MODEL,
class t_TYPE>
251 template <class t_MODEL, class t_TYPE>
257 typename
bsl::enable_if<
258 bsl::is_lvalue_reference<t_MODEL>::value &&
260 typename
bsl::remove_reference<t_MODEL>::type>::value>::type * = 0)
262 template <class t_MODEL, class t_TYPE>
265 const typename
bsl::remove_reference<t_TYPE>::type&&
268 typename
bsl::enable_if<
269 !
bsl::is_lvalue_reference<t_MODEL>::value &&
271 typename
bsl::remove_reference<t_MODEL>::type>::value>::type * = 0)
273 template <class t_MODEL, class t_TYPE>
276 typename
bsl::remove_reference<t_TYPE>::type&&
279 typename
bsl::enable_if<
280 !
bsl::is_lvalue_reference<t_MODEL>::value &&
282 typename
bsl::remove_reference<t_MODEL>::type>::value>::type * = 0)
285 template <
class t_MODEL,
class t_TYPE>
294 t_MODEL>::type>::value>::type * = 0)
296 template <class t_MODEL, class t_TYPE>
302 typename
bsl::enable_if<
305 t_MODEL>::type>::value>::type * = 0)
307 template <class t_MODEL, class t_TYPE>
313 typename
bsl::enable_if<
316 t_MODEL>::type>::value>::type * = 0)
318 template <class t_MODEL, class t_TYPE>
324 typename
bsl::enable_if<
327 t_MODEL>::type>::value>::type * = 0)
329 template <class t_MODEL, class t_TYPE>
335 typename
bsl::enable_if<
338 t_MODEL>::type>::value>::type * = 0)
340 template <class t_MODEL, class t_TYPE>
346 typename
bsl::enable_if<
349 t_MODEL>::type>::value>::type * = 0)
351 template <class t_MODEL, class t_TYPE>
357 typename
bsl::enable_if<
360 t_MODEL>::type>::value>::type * = 0)
362 template <class t_MODEL, class t_TYPE>
368 typename
bsl::enable_if<
371 t_MODEL>::type>::value>::type * = 0)
381#ifdef BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES
382 template <
class t_TYPE>
384 typename bsl::add_rvalue_reference<t_TYPE>::type
387 template <
class t_TYPE>
396#ifdef BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES
397 template <
class t_TYPE>
400 template <
class t_TYPE>
404 template <
class t_TYPE>
407 template <
class t_TYPE>
419#ifdef BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES
420 template <
class t_TYPE>
425 template <
class t_TYPE>
static BSLA_NODISCARD BSLS_KEYWORD_CONSTEXPR const t_TYPE & forward_like(bslmf::MovableRef< t_TYPE > t, typename bsl::enable_if< bslmf::MovableRefUtil::IsLvalueReference< t_MODEL >::value &&bsl::is_const< typename bslmf::MovableRefUtil::RemoveReference< t_MODEL >::type >::value >::type *=0) BSLS_KEYWORD_NOEXCEPT