forked from boostorg/fusion
missing make_pair() for r-value refs (#264)
* missing make_pair() for r-value refs hello guys! the `make_pair()` for r-value refs is required for r-value, otherwise `non-copyable` but `movable` can be constructed. thanks! * fix for prev commit conditional support for r-values was fixed * the test case was added * fix for prev commit * Update Jamfile * one more fix for Jamfile * the forgotten r-value ctor was added * ah, they should be conditional
This commit is contained in:
@ -120,6 +120,17 @@ namespace boost { namespace fusion
|
||||
return pair<First, typename detail::as_fusion_element<Second>::type>(val);
|
||||
}
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
template <typename First, typename Second>
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::make_pair<First,Second>::type
|
||||
make_pair(Second&& val)
|
||||
{
|
||||
return pair<First, typename detail::as_fusion_element<Second>::type>(
|
||||
BOOST_FUSION_FWD_ELEM(Second, val));
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename First, typename Second>
|
||||
inline std::ostream&
|
||||
operator<<(std::ostream& os, pair<First, Second> const& p)
|
||||
|
Reference in New Issue
Block a user