mirror of
https://github.com/boostorg/utility.git
synced 2025-05-11 21:34:01 +00:00
merge RC_1_32_0 fixes
[SVN r26328]
This commit is contained in:
parent
dd86e09ab4
commit
082ae17eaf
@ -73,18 +73,13 @@ template<class T> inline reference_wrapper<T const> BOOST_REF_CONST cref(T const
|
|||||||
# undef BOOST_REF_CONST
|
# undef BOOST_REF_CONST
|
||||||
|
|
||||||
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
class is_reference_wrapper
|
class is_reference_wrapper
|
||||||
: public mpl::false_
|
: public mpl::false_
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
class is_reference_wrapper<reference_wrapper<T> >
|
|
||||||
: public mpl::true_
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
class unwrap_reference
|
class unwrap_reference
|
||||||
{
|
{
|
||||||
@ -92,12 +87,30 @@ class unwrap_reference
|
|||||||
typedef T type;
|
typedef T type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
# define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) \
|
||||||
class unwrap_reference<reference_wrapper<T> >
|
template<typename T> \
|
||||||
{
|
class is_reference_wrapper< X > \
|
||||||
public:
|
: public mpl::true_ \
|
||||||
typedef T type;
|
{ \
|
||||||
};
|
}; \
|
||||||
|
\
|
||||||
|
template<typename T> \
|
||||||
|
class unwrap_reference< X > \
|
||||||
|
{ \
|
||||||
|
public: \
|
||||||
|
typedef T type; \
|
||||||
|
}; \
|
||||||
|
/**/
|
||||||
|
|
||||||
|
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)
|
||||||
|
#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
|
||||||
|
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)
|
||||||
|
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)
|
||||||
|
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF
|
||||||
|
|
||||||
# else // no partial specialization
|
# else // no partial specialization
|
||||||
|
|
||||||
} // namespace boost
|
} // namespace boost
|
||||||
|
Loading…
x
Reference in New Issue
Block a user