diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:30:07 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:32:57 +0900 |
commit | 71d216b90256936a9638f325af9bc69d720e75de (patch) | |
tree | 9c5f682d341c7c88ad0c8e3d4b262e00b6fb691a /boost/move/detail/move_helpers.hpp | |
parent | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (diff) | |
download | boost-71d216b90256936a9638f325af9bc69d720e75de.tar.gz boost-71d216b90256936a9638f325af9bc69d720e75de.tar.bz2 boost-71d216b90256936a9638f325af9bc69d720e75de.zip |
Imported Upstream version 1.59.0
Change-Id: I2dde00f4eca71df3eea9d251dcaecde18a6c90a5
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/move/detail/move_helpers.hpp')
-rw-r--r-- | boost/move/detail/move_helpers.hpp | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/boost/move/detail/move_helpers.hpp b/boost/move/detail/move_helpers.hpp index f4fd26c154..e3b8883159 100644 --- a/boost/move/detail/move_helpers.hpp +++ b/boost/move/detail/move_helpers.hpp @@ -48,20 +48,24 @@ { return FWD_FUNCTION(const_cast<const TYPE &>(x)); }\ \ template<class BOOST_MOVE_TEMPL_PARAM>\ - typename ::boost::move_detail::enable_if_c\ - < ::boost::move_detail::is_class_or_union<TYPE>::value &&\ - ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value &&\ - !::boost::has_move_emulation_enabled<BOOST_MOVE_TEMPL_PARAM>::value\ - , RETURN_VALUE >::type\ + typename ::boost::move_detail::enable_if_and\ + < RETURN_VALUE \ + , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>\ + , ::boost::move_detail::is_class_or_union<TYPE>\ + , ::boost::has_move_emulation_disabled<BOOST_MOVE_TEMPL_PARAM>\ + >::type\ PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ { return FWD_FUNCTION(u); }\ \ template<class BOOST_MOVE_TEMPL_PARAM>\ - typename ::boost::move_detail::enable_if_c\ - < (!::boost::move_detail::is_class_or_union<BOOST_MOVE_TEMPL_PARAM>::value || \ - !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value) && \ - !::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value \ - , RETURN_VALUE >::type\ + typename ::boost::move_detail::disable_if_or\ + < RETURN_VALUE \ + , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM> \ + , ::boost::move_detail::and_ \ + < ::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM> \ + , ::boost::move_detail::is_class_or_union<BOOST_MOVE_TEMPL_PARAM> \ + > \ + >::type\ PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ @@ -115,19 +119,21 @@ { return FWD_FUNCTION(arg1, const_cast<const TYPE &>(x)); }\ \ template<class BOOST_MOVE_TEMPL_PARAM>\ - typename ::boost::move_detail::enable_if_c<\ - ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value &&\ - !::boost::has_move_emulation_enabled<BOOST_MOVE_TEMPL_PARAM>::value\ - , RETURN_VALUE >::type\ + typename ::boost::move_detail::enable_if_and\ + < RETURN_VALUE \ + , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>\ + , ::boost::has_move_emulation_disabled<BOOST_MOVE_TEMPL_PARAM>\ + >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ { return FWD_FUNCTION(arg1, u); }\ \ template<class BOOST_MOVE_TEMPL_PARAM>\ - typename ::boost::move_detail::enable_if_c<\ - !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value && \ - !::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value && \ - !::boost::move_detail::is_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO>::value \ - , RETURN_VALUE >::type\ + typename ::boost::move_detail::disable_if_or\ + < RETURN_VALUE \ + , ::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>\ + , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>\ + , ::boost::move_detail::is_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO>\ + >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ @@ -145,10 +151,11 @@ { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ \ template<class BOOST_MOVE_TEMPL_PARAM>\ - typename ::boost::move_detail::enable_if_c\ - < !::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value && \ - !::boost::move_detail::is_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO>::value \ - , RETURN_VALUE >::type\ + typename ::boost::move_detail::disable_if_or\ + < RETURN_VALUE \ + , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM> \ + , ::boost::move_detail::is_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO> \ + >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ |