mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
add SPROUT_FORWARD - workaround for ICC
This commit is contained in:
parent
7831105add
commit
274122efb2
202 changed files with 750 additions and 741 deletions
|
@ -20,10 +20,10 @@ namespace sprout {
|
|||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR auto
|
||||
first(T&& t)
|
||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<0>(sprout::forward<T>(t))))
|
||||
-> decltype(sprout::tuples::get<0>(sprout::forward<T>(t)))
|
||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<0>(SPROUT_FORWARD(T, t))))
|
||||
-> decltype(sprout::tuples::get<0>(SPROUT_FORWARD(T, t)))
|
||||
{
|
||||
return sprout::tuples::get<0>(sprout::forward<T>(t));
|
||||
return sprout::tuples::get<0>(SPROUT_FORWARD(T, t));
|
||||
}
|
||||
} // namespace sprout
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ namespace sprout {
|
|||
typename sprout::strip_reference<typename std::decay<T1>::type>::type,
|
||||
typename sprout::strip_reference<typename std::decay<T2>::type>::type
|
||||
>(
|
||||
sprout::forward<T1>(x),
|
||||
sprout::forward<T2>(y)
|
||||
SPROUT_FORWARD(T1, x),
|
||||
SPROUT_FORWARD(T2, y)
|
||||
);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -63,8 +63,8 @@ namespace sprout {
|
|||
typename
|
||||
>
|
||||
inline SPROUT_CONSTEXPR sprout::pair<T1, T2>::pair(sprout::tuples::tuple<U, V>&& other)
|
||||
: first(sprout::forward<U>(sprout::tuples::get<0>(other)))
|
||||
, second(sprout::forward<V>(sprout::tuples::get<1>(other)))
|
||||
: first(SPROUT_FORWARD(U, sprout::tuples::get<0>(other)))
|
||||
, second(SPROUT_FORWARD(V, sprout::tuples::get<1>(other)))
|
||||
{}
|
||||
|
||||
template<typename T1, typename T2>
|
||||
|
@ -83,8 +83,8 @@ namespace sprout {
|
|||
typename
|
||||
>
|
||||
inline SPROUT_CXX14_CONSTEXPR sprout::pair<T1, T2>& sprout::pair<T1, T2>::operator=(sprout::tuples::tuple<U, V>&& rhs) {
|
||||
first = sprout::forward<U>(sprout::tuples::get<0>(rhs));
|
||||
second = sprout::forward<V>(sprout::tuples::get<1>(rhs));
|
||||
first = SPROUT_FORWARD(U, sprout::tuples::get<0>(rhs));
|
||||
second = SPROUT_FORWARD(V, sprout::tuples::get<1>(rhs));
|
||||
return *this;
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -53,8 +53,8 @@ namespace sprout {
|
|||
>::type
|
||||
>
|
||||
SPROUT_CONSTEXPR pair(U&& x, V&& y)
|
||||
: first(sprout::forward<U>(x))
|
||||
, second(sprout::forward<V>(y))
|
||||
: first(SPROUT_FORWARD(U, x))
|
||||
, second(SPROUT_FORWARD(V, y))
|
||||
{}
|
||||
template<
|
||||
typename U, typename V,
|
||||
|
@ -73,8 +73,8 @@ namespace sprout {
|
|||
>::type
|
||||
>
|
||||
SPROUT_CONSTEXPR pair(sprout::pair<U, V>&& other)
|
||||
: first(sprout::forward<U>(other.first))
|
||||
, second(sprout::forward<V>(other.second))
|
||||
: first(SPROUT_FORWARD(U, other.first))
|
||||
, second(SPROUT_FORWARD(V, other.second))
|
||||
{}
|
||||
template<
|
||||
typename... Args1, typename... Args2,
|
||||
|
@ -110,8 +110,8 @@ namespace sprout {
|
|||
SPROUT_CXX14_CONSTEXPR pair& operator=(pair&& rhs)
|
||||
SPROUT_NOEXCEPT_EXPR(std::is_nothrow_move_assignable<T1>::value && std::is_nothrow_move_assignable<T2>::value)
|
||||
{
|
||||
first = sprout::forward<T1>(rhs.first);
|
||||
second = sprout::forward<T2>(rhs.second);
|
||||
first = SPROUT_FORWARD(T1, rhs.first);
|
||||
second = SPROUT_FORWARD(T2, rhs.second);
|
||||
return *this;
|
||||
}
|
||||
template<
|
||||
|
@ -132,8 +132,8 @@ namespace sprout {
|
|||
>::type
|
||||
>
|
||||
SPROUT_CXX14_CONSTEXPR pair& operator=(sprout::pair<U, V>&& rhs) {
|
||||
first = sprout::forward<U>(rhs.first);
|
||||
second = sprout::forward<V>(rhs.second);
|
||||
first = SPROUT_FORWARD(U, rhs.first);
|
||||
second = SPROUT_FORWARD(V, rhs.second);
|
||||
return *this;
|
||||
}
|
||||
template<
|
||||
|
|
|
@ -20,10 +20,10 @@ namespace sprout {
|
|||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR auto
|
||||
second(T&& t)
|
||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<1>(sprout::forward<T>(t))))
|
||||
-> decltype(sprout::tuples::get<1>(sprout::forward<T>(t)))
|
||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<1>(SPROUT_FORWARD(T, t))))
|
||||
-> decltype(sprout::tuples::get<1>(SPROUT_FORWARD(T, t)))
|
||||
{
|
||||
return sprout::tuples::get<1>(sprout::forward<T>(t));
|
||||
return sprout::tuples::get<1>(SPROUT_FORWARD(T, t));
|
||||
}
|
||||
} // namespace sprout
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue