34#ifndef _RWSTD_RW_FORWARD_INCLUDED
35# define _RWSTD_RW_FORWARD_INCLUDED
46template <
class _TypeT>
51 const type& operator() (
const type& __x)
const {
56# define _RWSTD_IDENTITY(_TypeT) _STD::identity<_TypeT>::type
59# if !defined _RWSTD_NO_RVALUE_REFERENCES
61template <
class _TypeT>
63forward (
typename identity<_TypeT>::type&& __x)
65 return static_cast<_TypeT&&
>(__x);
68template <
class _TypeT>
72 return static_cast<typename __rw::__rw_remove_reference<_TypeT>::type&&
>(__x);
75# define _RWSTD_FORWARD(_TypeT, __x) _STD::forward<_TypeT> (__x)
76# define _RWSTD_MOVE(__x) _STD::move (__x)
80# define _RWSTD_FORWARD(_TypeT, __x) (__x)
81# define _RWSTD_MOVE(__x) (__x)
#define _RWSTD_NAMESPACE(name)