1
0
Fork 0
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:
bolero-MURAKAMI 2014-02-22 16:32:51 +09:00
parent 7831105add
commit 274122efb2
202 changed files with 750 additions and 741 deletions

View file

@ -30,7 +30,7 @@ namespace sprout {
public:
template<typename... As>
explicit SPROUT_CONSTEXPR expr(As&&... args)
: args_(sprout::forward<As>(args)...)
: args_(SPROUT_FORWARD(As, args)...)
{}
SPROUT_CONSTEXPR args_type const& args() const {
return args_;

View file

@ -23,7 +23,7 @@ namespace sprout {
inline SPROUT_CONSTEXPR typename sprout::weed::traits::expr_of<Tag, Args...>::type
make_expr(Args&&... args) {
return typename sprout::weed::traits::expr_of<Tag, Args...>::type(
sprout::weed::make_terminal_or_expr(sprout::forward<Args>(args))...
sprout::weed::make_terminal_or_expr(SPROUT_FORWARD(Args, args))...
);
}
} // namespace weed

View file

@ -28,7 +28,7 @@ namespace sprout {
typename sprout::weed::traits::terminal_of<Arg>::type
>::type make_terminal(Arg&& arg) {
return typename sprout::weed::traits::terminal_of<Arg>::type(
sprout::forward<Arg>(arg)
SPROUT_FORWARD(Arg, arg)
);
}
template<typename Arg>
@ -39,7 +39,7 @@ namespace sprout {
typename sprout::weed::traits::terminal_of<Arg>::type
>::type make_terminal(Arg&& arg) {
return typename sprout::weed::traits::terminal_of<Arg>::type(
sprout::to_string(sprout::forward<Arg>(arg))
sprout::to_string(SPROUT_FORWARD(Arg, arg))
);
}
} // namespace weed

View file

@ -27,7 +27,7 @@ namespace sprout {
>::value,
typename sprout::weed::traits::terminal_or_expr_of<Arg>::type
>::type make_terminal_or_expr(Arg&& arg) {
return sprout::forward<Arg>(arg);
return SPROUT_FORWARD(Arg, arg);
}
template<typename Arg>
inline SPROUT_CONSTEXPR typename std::enable_if<
@ -36,7 +36,7 @@ namespace sprout {
>::value,
typename sprout::weed::traits::terminal_or_expr_of<Arg>::type
>::type make_terminal_or_expr(Arg&& arg) {
return sprout::weed::make_terminal(sprout::forward<Arg>(arg));
return sprout::weed::make_terminal(SPROUT_FORWARD(Arg, arg));
}
} // namespace weed
} // namespace sprout