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

@ -44,10 +44,10 @@ namespace sprout {
template<std::size_t I, typename T>
inline SPROUT_CONSTEXPR auto
get(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<I>(sprout::forward<T>(t))))
-> decltype(sprout::tuples::get<I>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<I>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::tuples::get<I>(SPROUT_FORWARD(T, t)))
{
return sprout::tuples::get<I>(sprout::forward<T>(t));
return sprout::tuples::get<I>(SPROUT_FORWARD(T, t));
}
} // namespace access
} // namespace darkroom

View file

@ -38,26 +38,26 @@ namespace sprout {
template<typename T>
inline SPROUT_CONSTEXPR auto
r(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
return sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
g(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
return sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
b(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<2>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<2>(sprout::forward<T>(t));
return sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t));
}
//
// a
@ -68,10 +68,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
a(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<3>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<3>(sprout::forward<T>(t));
return sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t));
}
template<
typename T,

View file

@ -26,26 +26,26 @@ namespace sprout {
template<typename T>
inline SPROUT_CONSTEXPR auto
x(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
return sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
y(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
return sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
z(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<2>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<2>(sprout::forward<T>(t));
return sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t));
}
//

View file

@ -51,42 +51,42 @@ namespace sprout {
template<typename T>
inline SPROUT_CONSTEXPR auto
does_intersect(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
return sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
distance(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
return sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
point_of_intersection(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<2>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<2>(sprout::forward<T>(t));
return sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
normal(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<3>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<3>(sprout::forward<T>(t));
return sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
material(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<4>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<4>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<4>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<4>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<4>(sprout::forward<T>(t));
return sprout::darkroom::access::get<4>(SPROUT_FORWARD(T, t));
}
template<
typename T,
@ -94,10 +94,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
is_from_inside(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<5>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<5>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<5>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<5>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<5>(sprout::forward<T>(t));
return sprout::darkroom::access::get<5>(SPROUT_FORWARD(T, t));
}
template<
typename T,

View file

@ -21,9 +21,9 @@ namespace sprout {
template<typename... Lights>
inline SPROUT_CONSTEXPR auto
make_light_list(Lights&&... lights)
-> decltype(sprout::make_tuple(sprout::forward<Lights>(lights)...))
-> decltype(sprout::make_tuple(SPROUT_FORWARD(Lights, lights)...))
{
return sprout::make_tuple(sprout::forward<Lights>(lights)...);
return sprout::make_tuple(SPROUT_FORWARD(Lights, lights)...);
}
} // namespace lights
} // namespace darkroom

View file

@ -58,10 +58,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
color(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
return sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t));
}
template<
typename T,
@ -82,10 +82,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
reflection(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
return sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t));
}
template<
typename T,
@ -106,10 +106,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
alpha(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<2>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<2>(sprout::forward<T>(t));
return sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t));
}
template<
typename T,
@ -130,10 +130,10 @@ namespace sprout {
>
inline SPROUT_CONSTEXPR auto
refraction(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<3>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<3>(sprout::forward<T>(t));
return sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t));
}
template<
typename T,

View file

@ -21,9 +21,9 @@ namespace sprout {
template<typename... Objects>
inline SPROUT_CONSTEXPR auto
make_object_list(Objects&&... objs)
-> decltype(sprout::make_tuple(sprout::forward<Objects>(objs)...))
-> decltype(sprout::make_tuple(SPROUT_FORWARD(Objects, objs)...))
{
return sprout::make_tuple(sprout::forward<Objects>(objs)...);
return sprout::make_tuple(SPROUT_FORWARD(Objects, objs)...);
}
} // namespace objects
} // namespace darkroom

View file

@ -25,18 +25,18 @@ namespace sprout {
template<typename T>
inline SPROUT_CONSTEXPR auto
position(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
return sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t));
}
template<typename T>
inline SPROUT_CONSTEXPR auto
direction(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
-> decltype(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
return sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t));
}
//