mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-14 15:04:09 +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
|
@ -25,21 +25,21 @@ namespace sprout {
|
|||
T value;
|
||||
public:
|
||||
SPROUT_CONSTEXPR binder2nd_(Fn&& x, T&& y)
|
||||
: op(sprout::forward<Fn>(x)), value(sprout::forward<T>(y))
|
||||
: op(SPROUT_FORWARD(Fn, x)), value(SPROUT_FORWARD(T, y))
|
||||
{}
|
||||
template<typename Arg>
|
||||
SPROUT_CONSTEXPR decltype(op(std::declval<Arg>(), value))
|
||||
operator()(Arg&& x)
|
||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(op(std::declval<Arg>(), value)))
|
||||
{
|
||||
return op(sprout::forward<Arg>(x), value);
|
||||
return op(SPROUT_FORWARD(Arg, x), value);
|
||||
}
|
||||
};
|
||||
template<typename Fn, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::binder2nd_<typename std::decay<Fn>::type, typename std::decay<T>::type>
|
||||
bind2nd_(Fn&& fn, T&& x) {
|
||||
typedef sprout::binder2nd_<typename std::decay<Fn>::type, typename std::decay<T>::type> type;
|
||||
return type(sprout::forward<Fn>(fn), sprout::forward<T>(x));
|
||||
return type(SPROUT_FORWARD(Fn, fn), SPROUT_FORWARD(T, x));
|
||||
}
|
||||
} // namespace sprout
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue