mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-01-23 20:46:37 +00:00
fix macros for noexcept
This commit is contained in:
parent
23f24450b0
commit
979af136a1
125 changed files with 324 additions and 287 deletions
|
@ -91,7 +91,7 @@ namespace sprout {
|
||||||
return fill(value);
|
return fill(value);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(array& other)
|
SPROUT_CXX14_CONSTEXPR void swap(array& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(std::declval<T&>(), std::declval<T&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(std::declval<T&>(), std::declval<T&>()))
|
||||||
{
|
{
|
||||||
sprout::swap_ranges(other.begin(), other.end(), begin());
|
sprout::swap_ranges(other.begin(), other.end(), begin());
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ namespace sprout {
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::array<T, N>& lhs, sprout::array<T, N>& rhs)
|
swap(sprout::array<T, N>& lhs, sprout::array<T, N>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,7 @@ namespace sprout {
|
||||||
return second_;
|
return second_;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(second_, other.second_))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(second_, other.second_))
|
||||||
)
|
)
|
||||||
|
@ -138,7 +138,7 @@ namespace sprout {
|
||||||
return second_;
|
return second_;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(second_, other.second_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(second_, other.second_))
|
||||||
{
|
{
|
||||||
sprout::swap(second_, other.second_);
|
sprout::swap(second_, other.second_);
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ namespace sprout {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(first_, other.first_))
|
||||||
{
|
{
|
||||||
sprout::swap(first_, other.first_);
|
sprout::swap(first_, other.first_);
|
||||||
}
|
}
|
||||||
|
@ -317,7 +317,7 @@ namespace sprout {
|
||||||
return second_;
|
return second_;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
SPROUT_CXX14_CONSTEXPR void swap(compressed_pair_impl& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(second_, other.second_))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(second_, other.second_))
|
||||||
)
|
)
|
||||||
|
@ -450,7 +450,7 @@ namespace sprout {
|
||||||
template<typename T1, typename T2>
|
template<typename T1, typename T2>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::compressed_pair<T1, T2>& lhs, sprout::compressed_pair<T1, T2>& rhs)
|
swap(sprout::compressed_pair<T1, T2>& lhs, sprout::compressed_pair<T1, T2>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,17 +106,26 @@
|
||||||
|
|
||||||
//
|
//
|
||||||
// SPROUT_NOEXCEPT
|
// SPROUT_NOEXCEPT
|
||||||
|
// SPROUT_NOEXCEPT_OR_NOTHROW
|
||||||
|
// SPROUT_NOEXCEPT_IF
|
||||||
// SPROUT_NOEXCEPT_EXPR
|
// SPROUT_NOEXCEPT_EXPR
|
||||||
// SPROUT_NOEXCEPT_EXPR_OR_DEFAULT
|
// SPROUT_NOEXCEPT_EXPR_OR_DEFAULT
|
||||||
|
// SPROUT_NOEXCEPT_IF_EXPR
|
||||||
//
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
# define SPROUT_NOEXCEPT noexcept
|
# define SPROUT_NOEXCEPT noexcept
|
||||||
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept(EXPR)
|
# define SPROUT_NOEXCEPT_OR_NOTHROW noexcept
|
||||||
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) noexcept(EXPR)
|
# define SPROUT_NOEXCEPT_IF(COND) noexcept((COND))
|
||||||
|
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept((EXPR))
|
||||||
|
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) noexcept((EXPR))
|
||||||
|
# define SPROUT_NOEXCEPT_IF_EXPR(EXPR) noexcept(noexcept((EXPR)))
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#else // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
# define SPROUT_NOEXCEPT
|
# define SPROUT_NOEXCEPT
|
||||||
# define SPROUT_NOEXCEPT_EXPR(EXPR)
|
# define SPROUT_NOEXCEPT_OR_NOTHROW throw()
|
||||||
|
# define SPROUT_NOEXCEPT_IF(COND)
|
||||||
|
# define SPROUT_NOEXCEPT_EXPR(EXPR) false
|
||||||
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) C
|
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) C
|
||||||
|
# define SPROUT_NOEXCEPT_IF_EXPR(EXPR)
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace sprout {
|
||||||
container_holder(container_holder const&) = default;
|
container_holder(container_holder const&) = default;
|
||||||
|
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(container_holder& other)
|
SPROUT_CXX14_CONSTEXPR void swap(container_holder& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(other.container, container)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(other.container, container))
|
||||||
{
|
{
|
||||||
sprout::swap(other.container, container);
|
sprout::swap(other.container, container);
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ namespace sprout {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::container_holder<Container>& lhs, sprout::container_holder<Container>& rhs)
|
swap(sprout::container_holder<Container>& lhs, sprout::container_holder<Container>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -431,7 +431,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(sprout::tolower(std::declval<T>()) == sprout::tolower(std::declval<U>()))
|
SPROUT_CONSTEXPR decltype(sprout::tolower(std::declval<T>()) == sprout::tolower(std::declval<U>()))
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tolower(std::declval<T>()) == sprout::tolower(std::declval<U>())))
|
const SPROUT_NOEXCEPT_IF_EXPR(sprout::tolower(std::declval<T>()) == sprout::tolower(std::declval<U>()))
|
||||||
{
|
{
|
||||||
return sprout::tolower(SPROUT_FORWARD(T, x)) == sprout::tolower(SPROUT_FORWARD(U, y));
|
return sprout::tolower(SPROUT_FORWARD(T, x)) == sprout::tolower(SPROUT_FORWARD(U, y));
|
||||||
}
|
}
|
||||||
|
@ -457,7 +457,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(sprout::tolower(std::declval<T>()) != sprout::tolower(std::declval<U>()))
|
SPROUT_CONSTEXPR decltype(sprout::tolower(std::declval<T>()) != sprout::tolower(std::declval<U>()))
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tolower(std::declval<T>()) != sprout::tolower(std::declval<U>())))
|
const SPROUT_NOEXCEPT_IF_EXPR(sprout::tolower(std::declval<T>()) != sprout::tolower(std::declval<U>()))
|
||||||
{
|
{
|
||||||
return sprout::tolower(SPROUT_FORWARD(T, x)) != sprout::tolower(SPROUT_FORWARD(U, y));
|
return sprout::tolower(SPROUT_FORWARD(T, x)) != sprout::tolower(SPROUT_FORWARD(U, y));
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace sprout {
|
||||||
template<std::size_t I, typename T>
|
template<std::size_t I, typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
get(T&& t)
|
get(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<I>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<I>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
r(T&& t)
|
r(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -46,7 +46,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
g(T&& t)
|
g(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -54,7 +54,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
b(T&& t)
|
b(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -68,7 +68,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
a(T&& t)
|
a(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -79,7 +79,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<T>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<T>::type
|
||||||
a(T&&)
|
a(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(typename sprout::darkroom::access::unit<T>::type()))
|
SPROUT_NOEXCEPT_IF_EXPR(typename sprout::darkroom::access::unit<T>::type())
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::unit<T>::type();
|
return typename sprout::darkroom::access::unit<T>::type();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
x(T&& t)
|
x(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
y(T&& t)
|
y(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
z(T&& t)
|
z(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
does_intersect(T&& t)
|
does_intersect(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -59,7 +59,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
distance(T&& t)
|
distance(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -67,7 +67,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
point_of_intersection(T&& t)
|
point_of_intersection(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
normal(T&& t)
|
normal(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -83,7 +83,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
material(T&& t)
|
material(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<4>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<4>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -94,7 +94,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
is_from_inside(T&& t)
|
is_from_inside(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<5>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<5>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -105,7 +105,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type
|
||||||
is_from_inside(T&&)
|
is_from_inside(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type())))
|
SPROUT_NOEXCEPT_IF_EXPR((typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type()))
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type();
|
return typename sprout::darkroom::access::element<5, sprout::darkroom::intersects::intersection>::type();
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
color(T&& t)
|
color(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -69,7 +69,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type
|
||||||
color(T&&)
|
color(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type())))
|
SPROUT_NOEXCEPT_IF_EXPR((typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type()))
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type();
|
return typename sprout::darkroom::access::element<0, sprout::darkroom::materials::material>::type();
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
reflection(T&& t)
|
reflection(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -93,7 +93,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type
|
||||||
reflection(T&&)
|
reflection(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type())))
|
SPROUT_NOEXCEPT_IF_EXPR((typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type()))
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type();
|
return typename sprout::darkroom::access::element<1, sprout::darkroom::materials::material>::type();
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
alpha(T&& t)
|
alpha(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<2>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -117,7 +117,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type
|
||||||
alpha(T&&)
|
alpha(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type())))
|
SPROUT_NOEXCEPT_IF_EXPR((typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type()))
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type();
|
return typename sprout::darkroom::access::element<2, sprout::darkroom::materials::material>::type();
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
refraction(T&& t)
|
refraction(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<3>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -141,7 +141,7 @@ namespace sprout {
|
||||||
>
|
>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type
|
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type
|
||||||
refraction(T&&)
|
refraction(T&&)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type())))
|
SPROUT_NOEXCEPT_IF_EXPR((typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type()))
|
||||||
{
|
{
|
||||||
return typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type();
|
return typename sprout::darkroom::access::element<3, sprout::darkroom::materials::material>::type();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
position(T&& t)
|
position(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<0>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR auto
|
inline SPROUT_CONSTEXPR auto
|
||||||
direction(T&& t)
|
direction(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t))))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::darkroom::access::get<1>(SPROUT_FORWARD(T, t)))
|
||||||
-> decltype(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));
|
||||||
|
|
|
@ -38,11 +38,11 @@ namespace sprout {
|
||||||
SPROUT_STATIC_CONSTEXPR std::size_t bit_count = Bits;
|
SPROUT_STATIC_CONSTEXPR std::size_t bit_count = Bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SPROUT_LOW_BITS_MASK_SPECIALIZE(Type) \
|
#define SPROUT_LOW_BITS_MASK_SPECIALIZE(TYPE) \
|
||||||
template<> \
|
template<> \
|
||||||
struct low_bits_mask_t<sprout::numeric_limits<Type>::digits> { \
|
struct low_bits_mask_t<sprout::numeric_limits<TYPE>::digits> { \
|
||||||
public: \
|
public: \
|
||||||
typedef sprout::numeric_limits<Type> limits_type; \
|
typedef sprout::numeric_limits<TYPE> limits_type; \
|
||||||
typedef typename sprout::detail::uint_t<limits_type::digits>::least least; \
|
typedef typename sprout::detail::uint_t<limits_type::digits>::least least; \
|
||||||
typedef typename sprout::detail::uint_t<limits_type::digits>::fast fast; \
|
typedef typename sprout::detail::uint_t<limits_type::digits>::fast fast; \
|
||||||
public: \
|
public: \
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
//
|
//
|
||||||
// SPROUT_VERSION_NUMBER
|
// SPROUT_VERSION_NUMBER
|
||||||
//
|
//
|
||||||
#define SPROUT_VERSION_NUMBER(major, minor, patch) \
|
#define SPROUT_VERSION_NUMBER(MAJOR, MINOR, PATCH) \
|
||||||
((((major) % 100) * 10000000) + (((minor) % 100) * 100000) + ((patch) % 100000))
|
((((MAJOR) % 100) * 10000000) + (((MINOR) % 100) * 100000) + ((PATCH) % 100000))
|
||||||
//
|
//
|
||||||
// SPROUT_VERSION_NUMBER_ZERO
|
// SPROUT_VERSION_NUMBER_ZERO
|
||||||
//
|
//
|
||||||
|
@ -42,14 +42,14 @@
|
||||||
// SPROUT_GCC_OR_LATER
|
// SPROUT_GCC_OR_LATER
|
||||||
//
|
//
|
||||||
#if SPROUT_AVAILABLE_GCC
|
#if SPROUT_AVAILABLE_GCC
|
||||||
# define SPROUT_GCC_EARLIER(major, minor, patch) \
|
# define SPROUT_GCC_EARLIER(MAJOR, MINOR, PATCH) \
|
||||||
(SPROUT_VERSION_GCC < SPROUT_VERSION_NUMBER(major, minor, patch))
|
(SPROUT_VERSION_GCC < SPROUT_VERSION_NUMBER(MAJOR, MINOR, PATCH))
|
||||||
# define SPROUT_GCC_OR_LATER(major, minor, patch) \
|
# define SPROUT_GCC_OR_LATER(MAJOR, MINOR, PATCH) \
|
||||||
(SPROUT_VERSION_GCC >= SPROUT_VERSION_NUMBER(major, minor, patch))
|
(SPROUT_VERSION_GCC >= SPROUT_VERSION_NUMBER(MAJOR, MINOR, PATCH))
|
||||||
#else
|
#else
|
||||||
# define SPROUT_GCC_EARLIER(major, minor, patch) \
|
# define SPROUT_GCC_EARLIER(MAJOR, MINOR, PATCH) \
|
||||||
(0)
|
(0)
|
||||||
# define SPROUT_GCC_OR_LATER(major, minor, patch) \
|
# define SPROUT_GCC_OR_LATER(MAJOR, MINOR, PATCH) \
|
||||||
(0)
|
(0)
|
||||||
#endif
|
#endif
|
||||||
//
|
//
|
||||||
|
@ -92,14 +92,14 @@
|
||||||
// SPROUT_CLANG_OR_LATER
|
// SPROUT_CLANG_OR_LATER
|
||||||
//
|
//
|
||||||
#if SPROUT_AVAILABLE_CLANG
|
#if SPROUT_AVAILABLE_CLANG
|
||||||
# define SPROUT_CLANG_EARLIER(major, minor, patch) \
|
# define SPROUT_CLANG_EARLIER(MAJOR, MINOR, PATCH) \
|
||||||
(SPROUT_VERSION_CLANG < SPROUT_VERSION_NUMBER(major, minor, patch))
|
(SPROUT_VERSION_CLANG < SPROUT_VERSION_NUMBER(MAJOR, MINOR, PATCH))
|
||||||
# define SPROUT_CLANG_OR_LATER(major, minor, patch) \
|
# define SPROUT_CLANG_OR_LATER(MAJOR, MINOR, PATCH) \
|
||||||
(SPROUT_VERSION_CLANG >= SPROUT_VERSION_NUMBER(major, minor, patch))
|
(SPROUT_VERSION_CLANG >= SPROUT_VERSION_NUMBER(MAJOR, MINOR, PATCH))
|
||||||
#else
|
#else
|
||||||
# define SPROUT_CLANG_EARLIER(major, minor, patch) \
|
# define SPROUT_CLANG_EARLIER(MAJOR, MINOR, PATCH) \
|
||||||
(0)
|
(0)
|
||||||
# define SPROUT_CLANG_OR_LATER(major, minor, patch) \
|
# define SPROUT_CLANG_OR_LATER(MAJOR, MINOR, PATCH) \
|
||||||
(0)
|
(0)
|
||||||
#endif
|
#endif
|
||||||
//
|
//
|
||||||
|
|
|
@ -96,7 +96,7 @@ namespace sprout {
|
||||||
return forward_item_iterator(item->next);
|
return forward_item_iterator(item->next);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(forward_item_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(forward_item_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(item, other.item)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(item, other.item))
|
||||||
{
|
{
|
||||||
sprout::swap(item, other.item);
|
sprout::swap(item, other.item);
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,7 @@ namespace sprout {
|
||||||
template<typename List>
|
template<typename List>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::detail::forward_item_iterator<List>& lhs, sprout::detail::forward_item_iterator<List>& rhs)
|
swap(sprout::detail::forward_item_iterator<List>& lhs, sprout::detail::forward_item_iterator<List>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
@ -240,7 +240,10 @@ namespace sprout {
|
||||||
{}
|
{}
|
||||||
|
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(item& other)
|
SPROUT_CXX14_CONSTEXPR void swap(item& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(val, other.val)) && SPROUT_NOEXCEPT_EXPR(sprout::swap(next, other.next)))
|
SPROUT_NOEXCEPT_IF(
|
||||||
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(val, other.val))
|
||||||
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(next, other.next))
|
||||||
|
)
|
||||||
{
|
{
|
||||||
sprout::swap(val, other.val);
|
sprout::swap(val, other.val);
|
||||||
sprout::swap(next, other.next);
|
sprout::swap(next, other.next);
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(&std::declval<T>())
|
SPROUT_CONSTEXPR decltype(&std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(&std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(&std::declval<T>())
|
||||||
{
|
{
|
||||||
return &SPROUT_FORWARD(T, x);
|
return &SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() = std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() = std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() = std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() = std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) = SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) = SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() & std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() & std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() & std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() & std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) & SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) & SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() &= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() &= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() &= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() &= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) &= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) &= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(~std::declval<T>())
|
SPROUT_CONSTEXPR decltype(~std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(~std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(~std::declval<T>())
|
||||||
{
|
{
|
||||||
return ~SPROUT_FORWARD(T, x);
|
return ~SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() | std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() | std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() | std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() | std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) | SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) | SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() |= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() |= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() |= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() |= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) |= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) |= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() ^ std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() ^ std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() ^ std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() ^ std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) ^ SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) ^ SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() ^= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() ^= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() ^= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() ^= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) ^= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) ^= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename F, typename... As>
|
template<typename F, typename... As>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<F>()(std::declval<As>()...))
|
SPROUT_CONSTEXPR decltype(std::declval<F>()(std::declval<As>()...))
|
||||||
operator()(F&& f, As&&... as)
|
operator()(F&& f, As&&... as)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<F>()(std::declval<As>()...)))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<F>()(std::declval<As>()...))
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(F, f)(SPROUT_FORWARD(As, as)...);
|
return SPROUT_FORWARD(F, f)(SPROUT_FORWARD(As, as)...);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>(), std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>(), std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR((std::declval<T>(), std::declval<U>())))
|
const SPROUT_NOEXCEPT_IF_EXPR((std::declval<T>(), std::declval<U>()))
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x), SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x), SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U, typename V>
|
template<typename T, typename U, typename V>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() ? std::declval<U>() : std::declval<V>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() ? std::declval<U>() : std::declval<V>())
|
||||||
operator()(T&& x, U&& y, V&& z)
|
operator()(T&& x, U&& y, V&& z)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() ? std::declval<U>() : std::declval<V>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() ? std::declval<U>() : std::declval<V>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) ? SPROUT_FORWARD(U, y) : SPROUT_FORWARD(V, z);
|
return SPROUT_FORWARD(T, x) ? SPROUT_FORWARD(U, y) : SPROUT_FORWARD(V, z);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(*std::declval<T>())
|
SPROUT_CONSTEXPR decltype(*std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(*std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(*std::declval<T>())
|
||||||
{
|
{
|
||||||
return *SPROUT_FORWARD(T, x);
|
return *SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() / std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() / std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() / std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() / std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) / SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) / SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() /= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() /= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() /= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() /= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) /= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) /= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() == std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() == std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() == std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() == std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) == SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) == SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() > std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() > std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() > std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() > std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) > SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) > SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() >= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() >= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() >= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() >= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) >= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) >= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,31 +48,31 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR std::size_t
|
SPROUT_CONSTEXPR std::size_t
|
||||||
operator()(T&& v)
|
operator()(T&& v)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::to_hash(SPROUT_FORWARD(T, v))))
|
const SPROUT_NOEXCEPT_IF_EXPR(sprout::to_hash(SPROUT_FORWARD(T, v)))
|
||||||
{
|
{
|
||||||
return sprout::to_hash(SPROUT_FORWARD(T, v));
|
return sprout::to_hash(SPROUT_FORWARD(T, v));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SPROUT_HASH_SPECIALIZE(type) \
|
#define SPROUT_HASH_SPECIALIZE(TYPE) \
|
||||||
template<> \
|
template<> \
|
||||||
struct hash<type> { \
|
struct hash<TYPE> { \
|
||||||
public: \
|
public: \
|
||||||
typedef type argument_type; \
|
typedef TYPE argument_type; \
|
||||||
typedef std::size_t result_type; \
|
typedef std::size_t result_type; \
|
||||||
public: \
|
public: \
|
||||||
SPROUT_CONSTEXPR std::size_t operator()(type v) const { \
|
SPROUT_CONSTEXPR std::size_t operator()(TYPE v) const { \
|
||||||
return sprout::to_hash(v); \
|
return sprout::to_hash(v); \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
#define SPROUT_HASH_SPECIALIZE_REF(type) \
|
#define SPROUT_HASH_SPECIALIZE_REF(TYPE) \
|
||||||
template<> \
|
template<> \
|
||||||
struct hash<type> { \
|
struct hash<TYPE> { \
|
||||||
public: \
|
public: \
|
||||||
typedef type argument_type; \
|
typedef TYPE argument_type; \
|
||||||
typedef std::size_t result_type; \
|
typedef std::size_t result_type; \
|
||||||
public: \
|
public: \
|
||||||
SPROUT_CONSTEXPR std::size_t operator()(type const& v) const { \
|
SPROUT_CONSTEXPR std::size_t operator()(TYPE const& v) const { \
|
||||||
return sprout::to_hash(v); \
|
return sprout::to_hash(v); \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() < std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() < std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() < std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() < std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) < SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) < SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() <= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() <= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() <= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() <= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) <= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) <= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() && std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() && std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() && std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() && std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) && SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) && SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(!std::declval<T>())
|
SPROUT_CONSTEXPR decltype(!std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(!std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(!std::declval<T>())
|
||||||
{
|
{
|
||||||
return !SPROUT_FORWARD(T, x);
|
return !SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() || std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() || std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() || std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() || std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) || SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) || SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>()->*std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>()->*std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>()->*std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>()->*std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x)->*SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x)->*SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>().*std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>().*std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>().*std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>().*std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x).*SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x).*SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() - std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() - std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() - std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() - std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) - SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) - SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() -= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() -= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() -= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() -= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) -= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) -= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() % std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() % std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() % std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() % std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) % SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) % SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() %= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() %= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() %= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() %= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) %= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) %= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() * std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() * std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() * std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() * std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) * SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) * SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() *= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() *= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() *= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() *= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) *= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) *= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(-std::declval<T>())
|
SPROUT_CONSTEXPR decltype(-std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(-std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(-std::declval<T>())
|
||||||
{
|
{
|
||||||
return -SPROUT_FORWARD(T, x);
|
return -SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() != std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() != std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() != std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() != std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) != SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) != SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() + std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() + std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() + std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() + std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) + SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) + SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() += std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() += std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() += std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() += std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) += SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) += SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
template<typename Arg>
|
template<typename Arg>
|
||||||
SPROUT_CONSTEXPR decltype(op(value, std::declval<Arg>()))
|
SPROUT_CONSTEXPR decltype(op(value, std::declval<Arg>()))
|
||||||
operator()(Arg&& x)
|
operator()(Arg&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(op(value, std::declval<Arg>())))
|
const SPROUT_NOEXCEPT_IF_EXPR(op(value, std::declval<Arg>()))
|
||||||
{
|
{
|
||||||
return op(value, SPROUT_FORWARD(Arg, x));
|
return op(value, SPROUT_FORWARD(Arg, x));
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
template<typename Arg>
|
template<typename Arg>
|
||||||
SPROUT_CONSTEXPR decltype(op(std::declval<Arg>(), value))
|
SPROUT_CONSTEXPR decltype(op(std::declval<Arg>(), value))
|
||||||
operator()(Arg&& x)
|
operator()(Arg&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(op(std::declval<Arg>(), value)))
|
const SPROUT_NOEXCEPT_IF_EXPR(op(std::declval<Arg>(), value))
|
||||||
{
|
{
|
||||||
return op(SPROUT_FORWARD(Arg, x), value);
|
return op(SPROUT_FORWARD(Arg, x), value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(+std::declval<T>())
|
SPROUT_CONSTEXPR decltype(+std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(+std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(+std::declval<T>())
|
||||||
{
|
{
|
||||||
return +SPROUT_FORWARD(T, x);
|
return +SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(~std::declval<T>()--)
|
SPROUT_CONSTEXPR decltype(~std::declval<T>()--)
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(~std::declval<T>()--))
|
const SPROUT_NOEXCEPT_IF_EXPR(~std::declval<T>()--)
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x)--;
|
return SPROUT_FORWARD(T, x)--;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>()++)
|
SPROUT_CONSTEXPR decltype(std::declval<T>()++)
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>()++))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>()++)
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x)++;
|
return SPROUT_FORWARD(T, x)++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(--std::declval<T>())
|
SPROUT_CONSTEXPR decltype(--std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(--std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(--std::declval<T>())
|
||||||
{
|
{
|
||||||
return --SPROUT_FORWARD(T, x);
|
return --SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
SPROUT_CONSTEXPR decltype(++std::declval<T>())
|
SPROUT_CONSTEXPR decltype(++std::declval<T>())
|
||||||
operator()(T&& x)
|
operator()(T&& x)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(++std::declval<T>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(++std::declval<T>())
|
||||||
{
|
{
|
||||||
return ++SPROUT_FORWARD(T, x);
|
return ++SPROUT_FORWARD(T, x);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() << std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() << std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() << std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() << std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) << SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) << SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() <<= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() <<= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() <<= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() <<= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) <<= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) <<= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() >> std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() >> std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() << std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() << std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) >> SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) >> SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>() >>= std::declval<U>())
|
SPROUT_CONSTEXPR decltype(std::declval<T>() >>= std::declval<U>())
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>() >>= std::declval<U>()))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>() >>= std::declval<U>())
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x) >>= SPROUT_FORWARD(U, y);
|
return SPROUT_FORWARD(T, x) >>= SPROUT_FORWARD(U, y);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace sprout {
|
||||||
template<typename T, typename U>
|
template<typename T, typename U>
|
||||||
SPROUT_CONSTEXPR decltype(std::declval<T>()[std::declval<U>()])
|
SPROUT_CONSTEXPR decltype(std::declval<T>()[std::declval<U>()])
|
||||||
operator()(T&& x, U&& y)
|
operator()(T&& x, U&& y)
|
||||||
const SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<T>()[std::declval<U>()]))
|
const SPROUT_NOEXCEPT_IF_EXPR(std::declval<T>()[std::declval<U>()])
|
||||||
{
|
{
|
||||||
return SPROUT_FORWARD(T, x)[SPROUT_FORWARD(U, y)];
|
return SPROUT_FORWARD(T, x)[SPROUT_FORWARD(U, y)];
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace sprout_generator_detail {
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen&>()))
|
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen&>()))
|
||||||
get_generated_value(Gen& gen)
|
get_generated_value(Gen& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_generated_value(gen);
|
return sprout::generators::generator_access_traits<Gen>::get_generated_value(gen);
|
||||||
}
|
}
|
||||||
|
@ -35,14 +35,14 @@ namespace sprout_generator_detail {
|
||||||
decltype(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_generated_value(std::declval<Gen&&>()))
|
decltype(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_generated_value(std::declval<Gen&&>()))
|
||||||
>::type
|
>::type
|
||||||
get_generated_value(Gen&& gen)
|
get_generated_value(Gen&& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_generated_value(std::declval<Gen&&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_generated_value(std::declval<Gen&&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_generated_value(gen);
|
return sprout::generators::generator_access_traits<Gen>::get_generated_value(gen);
|
||||||
}
|
}
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen const>::get_generated_value(std::declval<Gen const&>()))
|
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen const>::get_generated_value(std::declval<Gen const&>()))
|
||||||
get_generated_value(Gen const& gen)
|
get_generated_value(Gen const& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen const>::get_generated_value(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen const>::get_generated_value(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen const>::get_generated_value(gen);
|
return sprout::generators::generator_access_traits<Gen const>::get_generated_value(gen);
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ namespace sprout_generator_detail {
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(get_generated_value(std::declval<Gen&>()))
|
inline SPROUT_CONSTEXPR decltype(get_generated_value(std::declval<Gen&>()))
|
||||||
call_get_generated_value(Gen& gen)
|
call_get_generated_value(Gen& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_generated_value(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_generated_value(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return get_generated_value(gen);
|
return get_generated_value(gen);
|
||||||
}
|
}
|
||||||
|
@ -60,14 +60,14 @@ namespace sprout_generator_detail {
|
||||||
decltype(get_generated_value(std::declval<Gen&&>()))
|
decltype(get_generated_value(std::declval<Gen&&>()))
|
||||||
>::type
|
>::type
|
||||||
call_get_generated_value(Gen&& gen)
|
call_get_generated_value(Gen&& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_generated_value(std::declval<Gen&&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_generated_value(std::declval<Gen&&>()))
|
||||||
{
|
{
|
||||||
return get_generated_value(gen);
|
return get_generated_value(gen);
|
||||||
}
|
}
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(get_generated_value(std::declval<Gen const&>()))
|
inline SPROUT_CONSTEXPR decltype(get_generated_value(std::declval<Gen const&>()))
|
||||||
call_get_generated_value(Gen const& gen)
|
call_get_generated_value(Gen const& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_generated_value(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_generated_value(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return get_generated_value(gen);
|
return get_generated_value(gen);
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout_generator_detail::call_get_generated_value(std::declval<T>()))
|
inline SPROUT_CONSTEXPR decltype(sprout_generator_detail::call_get_generated_value(std::declval<T>()))
|
||||||
generated_value(T&& t)
|
generated_value(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout_generator_detail::call_get_generated_value(std::declval<T>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout_generator_detail::call_get_generated_value(std::declval<T>()))
|
||||||
{
|
{
|
||||||
return sprout_generator_detail::call_get_generated_value(SPROUT_FORWARD(T, t));
|
return sprout_generator_detail::call_get_generated_value(SPROUT_FORWARD(T, t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,19 +50,19 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen&>().generated_value())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen&>().generated_value())
|
||||||
get_generated_value(Gen& t)
|
get_generated_value(Gen& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen&>().generated_value()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen&>().generated_value())
|
||||||
{
|
{
|
||||||
return t.generated_value();
|
return t.generated_value();
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen&&>().generated_value())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen&&>().generated_value())
|
||||||
get_generated_value(Gen&& t)
|
get_generated_value(Gen&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen&&>().generated_value()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen&&>().generated_value())
|
||||||
{
|
{
|
||||||
return t.generated_value();
|
return t.generated_value();
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen const&>().generated_value())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen const&>().generated_value())
|
||||||
get_generated_value(Gen const& t)
|
get_generated_value(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen const&>().generated_value()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen const&>().generated_value())
|
||||||
{
|
{
|
||||||
return t.generated_value();
|
return t.generated_value();
|
||||||
}
|
}
|
||||||
|
@ -75,19 +75,19 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen&>()))
|
||||||
get_generated_value(Gen& t)
|
get_generated_value(Gen& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<0>(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<0>(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<0>(t);
|
return sprout::tuples::get<0>(t);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen&&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen&&>()))
|
||||||
get_generated_value(Gen&& t)
|
get_generated_value(Gen&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<0>(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<0>(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<0>(t);
|
return sprout::tuples::get<0>(t);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen const&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<0>(std::declval<Gen const&>()))
|
||||||
get_generated_value(Gen const& t)
|
get_generated_value(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<0>(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<0>(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<0>(t);
|
return sprout::tuples::get<0>(t);
|
||||||
}
|
}
|
||||||
|
@ -125,19 +125,19 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen&>().next_generator())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen&>().next_generator())
|
||||||
get_next_generator(Gen& t)
|
get_next_generator(Gen& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen&>().next_generator()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen&>().next_generator())
|
||||||
{
|
{
|
||||||
return t.next_generator();
|
return t.next_generator();
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen&&>().next_generator())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen&&>().next_generator())
|
||||||
get_next_generator(Gen&& t)
|
get_next_generator(Gen&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen&&>().next_generator()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen&&>().next_generator())
|
||||||
{
|
{
|
||||||
return t.next_generator();
|
return t.next_generator();
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(std::declval<Gen const&>().next_generator())
|
static SPROUT_CONSTEXPR decltype(std::declval<Gen const&>().next_generator())
|
||||||
get_next_generator(Gen const& t)
|
get_next_generator(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::declval<Gen const&>().next_generator()))
|
SPROUT_NOEXCEPT_IF_EXPR(std::declval<Gen const&>().next_generator())
|
||||||
{
|
{
|
||||||
return t.next_generator();
|
return t.next_generator();
|
||||||
}
|
}
|
||||||
|
@ -150,19 +150,19 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen&>()))
|
||||||
get_next_generator(Gen& t)
|
get_next_generator(Gen& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<1>(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<1>(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<1>(t);
|
return sprout::tuples::get<1>(t);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen&&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen&&>()))
|
||||||
get_next_generator(Gen&& t)
|
get_next_generator(Gen&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<1>(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<1>(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<1>(t);
|
return sprout::tuples::get<1>(t);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen const&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::tuples::get<1>(std::declval<Gen const&>()))
|
||||||
get_next_generator(Gen const& t)
|
get_next_generator(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::tuples::get<1>(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::tuples::get<1>(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::tuples::get<1>(t);
|
return sprout::tuples::get<1>(t);
|
||||||
}
|
}
|
||||||
|
@ -182,13 +182,13 @@ namespace sprout {
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen const&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen const&>()))
|
||||||
get_generated_value(Gen const& t)
|
get_generated_value(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen>::get_generated_value(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_generated_value(t);
|
return sprout::generators::generator_access_traits<Gen>::get_generated_value(t);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen const&>()))
|
static SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen const&>()))
|
||||||
get_next_generator(Gen const& t)
|
get_next_generator(Gen const& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_next_generator(t);
|
return sprout::generators::generator_access_traits<Gen>::get_next_generator(t);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace sprout_generator_detail {
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen&>()))
|
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen&>()))
|
||||||
get_next_generator(Gen& gen)
|
get_next_generator(Gen& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen>::get_next_generator(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_next_generator(gen);
|
return sprout::generators::generator_access_traits<Gen>::get_next_generator(gen);
|
||||||
}
|
}
|
||||||
|
@ -35,14 +35,14 @@ namespace sprout_generator_detail {
|
||||||
decltype(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_next_generator(std::declval<Gen&&>()))
|
decltype(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_next_generator(std::declval<Gen&&>()))
|
||||||
>::type
|
>::type
|
||||||
get_next_generator(Gen&& gen)
|
get_next_generator(Gen&& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_next_generator(std::declval<Gen&&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<typename std::remove_reference<Gen>::type>::get_next_generator(std::declval<Gen&&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen>::get_next_generator(gen);
|
return sprout::generators::generator_access_traits<Gen>::get_next_generator(gen);
|
||||||
}
|
}
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen const>::get_next_generator(std::declval<Gen const&>()))
|
inline SPROUT_CONSTEXPR decltype(sprout::generators::generator_access_traits<Gen const>::get_next_generator(std::declval<Gen const&>()))
|
||||||
get_next_generator(Gen const& gen)
|
get_next_generator(Gen const& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::generators::generator_access_traits<Gen const>::get_next_generator(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::generators::generator_access_traits<Gen const>::get_next_generator(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return sprout::generators::generator_access_traits<Gen const>::get_next_generator(gen);
|
return sprout::generators::generator_access_traits<Gen const>::get_next_generator(gen);
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ namespace sprout_generator_detail {
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(get_next_generator(std::declval<Gen&>()))
|
inline SPROUT_CONSTEXPR decltype(get_next_generator(std::declval<Gen&>()))
|
||||||
call_get_next_generator(Gen& gen)
|
call_get_next_generator(Gen& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_next_generator(std::declval<Gen&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_next_generator(std::declval<Gen&>()))
|
||||||
{
|
{
|
||||||
return get_next_generator(gen);
|
return get_next_generator(gen);
|
||||||
}
|
}
|
||||||
|
@ -60,14 +60,14 @@ namespace sprout_generator_detail {
|
||||||
decltype(get_next_generator(std::declval<Gen&&>()))
|
decltype(get_next_generator(std::declval<Gen&&>()))
|
||||||
>::type
|
>::type
|
||||||
call_get_next_generator(Gen&& gen)
|
call_get_next_generator(Gen&& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_next_generator(std::declval<Gen&&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_next_generator(std::declval<Gen&&>()))
|
||||||
{
|
{
|
||||||
return get_next_generator(gen);
|
return get_next_generator(gen);
|
||||||
}
|
}
|
||||||
template<typename Gen>
|
template<typename Gen>
|
||||||
inline SPROUT_CONSTEXPR decltype(get_next_generator(std::declval<Gen const&>()))
|
inline SPROUT_CONSTEXPR decltype(get_next_generator(std::declval<Gen const&>()))
|
||||||
call_get_next_generator(Gen const& gen)
|
call_get_next_generator(Gen const& gen)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(get_next_generator(std::declval<Gen const&>())))
|
SPROUT_NOEXCEPT_IF_EXPR(get_next_generator(std::declval<Gen const&>()))
|
||||||
{
|
{
|
||||||
return get_next_generator(gen);
|
return get_next_generator(gen);
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CONSTEXPR decltype(sprout_generator_detail::call_get_next_generator(std::declval<T>()))
|
inline SPROUT_CONSTEXPR decltype(sprout_generator_detail::call_get_next_generator(std::declval<T>()))
|
||||||
next_generator(T&& t)
|
next_generator(T&& t)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout_generator_detail::call_get_next_generator(std::declval<T>())))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout_generator_detail::call_get_next_generator(std::declval<T>()))
|
||||||
{
|
{
|
||||||
return sprout_generator_detail::call_get_next_generator(SPROUT_FORWARD(T, t));
|
return sprout_generator_detail::call_get_next_generator(SPROUT_FORWARD(T, t));
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@ namespace sprout {
|
||||||
return adjacent_filter_iterator(pred, checked_next(find_next(current, last, pred), last), last, private_construct_t());
|
return adjacent_filter_iterator(pred, checked_next(find_next(current, last, pred), last), last, private_construct_t());
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(adjacent_filter_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(adjacent_filter_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last, other.last))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last, other.last))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pred, other.pred))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pred, other.pred))
|
||||||
|
@ -168,7 +168,7 @@ namespace sprout {
|
||||||
template<typename Predicate, typename Iterator>
|
template<typename Predicate, typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::adjacent_filter_iterator<Predicate, Iterator>& lhs, sprout::adjacent_filter_iterator<Predicate, Iterator>& rhs)
|
swap(sprout::adjacent_filter_iterator<Predicate, Iterator>& lhs, sprout::adjacent_filter_iterator<Predicate, Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,7 +160,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(alternate_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(alternate_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(in_left, other.in_left))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(in_left, other.in_left))
|
||||||
|
@ -280,7 +280,7 @@ namespace sprout {
|
||||||
sprout::alternate_iterator<LIterator, RIterator>& lhs,
|
sprout::alternate_iterator<LIterator, RIterator>& lhs,
|
||||||
sprout::alternate_iterator<LIterator, RIterator>& rhs
|
sprout::alternate_iterator<LIterator, RIterator>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(back_insert_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(back_insert_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(base_type::swap(other)))
|
SPROUT_NOEXCEPT_IF_EXPR(base_type::swap(other))
|
||||||
{
|
{
|
||||||
base_type::swap(other);
|
base_type::swap(other);
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::back_insert_iterator<Container>& lhs, sprout::back_insert_iterator<Container>& rhs)
|
swap(sprout::back_insert_iterator<Container>& lhs, sprout::back_insert_iterator<Container>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,7 +101,7 @@ namespace sprout {
|
||||||
return bytes_iterator(it_, i_ - 1, prev_tag());
|
return bytes_iterator(it_, i_ - 1, prev_tag());
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(bytes_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(bytes_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(it_, other.it_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(it_, other.it_))
|
||||||
{
|
{
|
||||||
sprout::swap(it_, other.it_);
|
sprout::swap(it_, other.it_);
|
||||||
sprout::swap(i_, other.i_);
|
sprout::swap(i_, other.i_);
|
||||||
|
@ -197,7 +197,7 @@ namespace sprout {
|
||||||
template<typename Iterator, typename Traits>
|
template<typename Iterator, typename Traits>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::bytes_iterator<Iterator, Traits>& lhs, sprout::bytes_iterator<Iterator, Traits>& rhs)
|
swap(sprout::bytes_iterator<Iterator, Traits>& lhs, sprout::bytes_iterator<Iterator, Traits>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,7 +123,7 @@ namespace sprout {
|
||||||
return clamp_iterator(sprout::prev(current), low, up, comp);
|
return clamp_iterator(sprout::prev(current), low, up, comp);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(clamp_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(clamp_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(comp, other.comp))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(comp, other.comp))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(low, other.low))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(low, other.low))
|
||||||
|
@ -216,7 +216,7 @@ namespace sprout {
|
||||||
template<typename Iterator, typename Compare>
|
template<typename Iterator, typename Compare>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::clamp_iterator<Iterator, Compare>& lhs, sprout::clamp_iterator<Iterator, Compare>& rhs)
|
swap(sprout::clamp_iterator<Iterator, Compare>& lhs, sprout::clamp_iterator<Iterator, Compare>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ namespace sprout {
|
||||||
return counting_iterator(current_ - 1);
|
return counting_iterator(current_ - 1);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(counting_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(counting_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(current_, other.current_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(current_, other.current_))
|
||||||
{
|
{
|
||||||
sprout::swap(current_, other.current_);
|
sprout::swap(current_, other.current_);
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ namespace sprout {
|
||||||
template<typename Incrementable>
|
template<typename Incrementable>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::counting_iterator<Incrementable>& lhs, sprout::counting_iterator<Incrementable>& rhs)
|
swap(sprout::counting_iterator<Incrementable>& lhs, sprout::counting_iterator<Incrementable>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,10 @@ namespace sprout {
|
||||||
return dft_iterator(first_, last_, index_, index_ - 1, size_);
|
return dft_iterator(first_, last_, index_, index_ - 1, size_);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(dft_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(dft_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_)) && SPROUT_NOEXCEPT_EXPR(sprout::swap(last_, other.last_)))
|
SPROUT_NOEXCEPT_IF(
|
||||||
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
||||||
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last_, other.last_))
|
||||||
|
)
|
||||||
{
|
{
|
||||||
sprout::swap(first_, other.first_);
|
sprout::swap(first_, other.first_);
|
||||||
sprout::swap(last_, other.last_);
|
sprout::swap(last_, other.last_);
|
||||||
|
@ -182,7 +185,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::dft_iterator<Iterator>& lhs, sprout::dft_iterator<Iterator>& rhs)
|
swap(sprout::dft_iterator<Iterator>& lhs, sprout::dft_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ namespace sprout {
|
||||||
return filter_iterator(pred, find_prev(sprout::prev(current), pred), last, private_construct_t());
|
return filter_iterator(pred, find_prev(sprout::prev(current), pred), last, private_construct_t());
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(filter_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(filter_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last, other.last))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last, other.last))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pred, other.pred))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pred, other.pred))
|
||||||
|
@ -184,7 +184,7 @@ namespace sprout {
|
||||||
template<typename Predicate, typename Iterator>
|
template<typename Predicate, typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::filter_iterator<Predicate, Iterator>& lhs, sprout::filter_iterator<Predicate, Iterator>& rhs)
|
swap(sprout::filter_iterator<Predicate, Iterator>& lhs, sprout::filter_iterator<Predicate, Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(front_insert_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(front_insert_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(base_type::swap(other)))
|
SPROUT_NOEXCEPT_IF_EXPR(base_type::swap(other))
|
||||||
{
|
{
|
||||||
base_type::swap(other);
|
base_type::swap(other);
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::front_insert_iterator<Container>& lhs, sprout::front_insert_iterator<Container>& rhs)
|
swap(sprout::front_insert_iterator<Container>& lhs, sprout::front_insert_iterator<Container>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,7 @@ namespace sprout {
|
||||||
return generated_value();
|
return generated_value();
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(generator_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(generator_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(gen_, other.gen_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(gen_, other.gen_))
|
||||||
{
|
{
|
||||||
sprout::swap(gen_, other.gen_);
|
sprout::swap(gen_, other.gen_);
|
||||||
sprout::swap(index_, other.index_);
|
sprout::swap(index_, other.index_);
|
||||||
|
@ -141,7 +141,7 @@ namespace sprout {
|
||||||
template<typename Generator>
|
template<typename Generator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::generator_iterator<Generator>& lhs, sprout::generator_iterator<Generator>& rhs)
|
swap(sprout::generator_iterator<Generator>& lhs, sprout::generator_iterator<Generator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,10 @@ namespace sprout {
|
||||||
return idft_iterator(first_, last_, index_, index_ - 1, size_);
|
return idft_iterator(first_, last_, index_, index_ - 1, size_);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(idft_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(idft_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_)) && SPROUT_NOEXCEPT_EXPR(sprout::swap(last_, other.last_)))
|
SPROUT_NOEXCEPT_IF(
|
||||||
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(first_, other.first_))
|
||||||
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last_, other.last_))
|
||||||
|
)
|
||||||
{
|
{
|
||||||
sprout::swap(first_, other.first_);
|
sprout::swap(first_, other.first_);
|
||||||
sprout::swap(last_, other.last_);
|
sprout::swap(last_, other.last_);
|
||||||
|
@ -182,7 +185,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::idft_iterator<Iterator>& lhs, sprout::idft_iterator<Iterator>& rhs)
|
swap(sprout::idft_iterator<Iterator>& lhs, sprout::idft_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,7 +123,7 @@ namespace sprout {
|
||||||
return index_iterator(holder_, index_ - 1);
|
return index_iterator(holder_, index_ - 1);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(index_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(index_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(holder_, other.holder_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(holder_, other.holder_))
|
||||||
{
|
{
|
||||||
sprout::swap(holder_, other.holder_);
|
sprout::swap(holder_, other.holder_);
|
||||||
sprout::swap(index_, other.index_);
|
sprout::swap(index_, other.index_);
|
||||||
|
@ -246,7 +246,7 @@ namespace sprout {
|
||||||
template<typename Container, bool C>
|
template<typename Container, bool C>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::index_iterator<Container, C>& lhs, sprout::index_iterator<Container, C>& rhs)
|
swap(sprout::index_iterator<Container, C>& lhs, sprout::index_iterator<Container, C>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@ namespace sprout {
|
||||||
return indexed_iterator(sprout::prev(current), idx - 1);
|
return indexed_iterator(sprout::prev(current), idx - 1);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(indexed_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(indexed_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(idx, other.idx))
|
&& SPROUT_NOEXCEPT_EXPR(swap(idx, other.idx))
|
||||||
)
|
)
|
||||||
|
@ -194,7 +194,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::indexed_iterator<Iterator>& lhs, sprout::indexed_iterator<Iterator>& rhs)
|
swap(sprout::indexed_iterator<Iterator>& lhs, sprout::indexed_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(insert_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(insert_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(base_type::swap(other))
|
SPROUT_NOEXCEPT_EXPR(base_type::swap(other))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(other.iter, iter))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(other.iter, iter))
|
||||||
)
|
)
|
||||||
|
@ -100,7 +100,7 @@ namespace sprout {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::insert_iterator<Container>& lhs, sprout::insert_iterator<Container>& rhs)
|
swap(sprout::insert_iterator<Container>& lhs, sprout::insert_iterator<Container>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,7 +177,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(insert_range_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(insert_range_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pos1, other.pos1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(pos1, other.pos1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
||||||
|
@ -304,7 +304,7 @@ namespace sprout {
|
||||||
sprout::insert_range_iterator<DstIterator, SrcIterator>& lhs,
|
sprout::insert_range_iterator<DstIterator, SrcIterator>& lhs,
|
||||||
sprout::insert_range_iterator<DstIterator, SrcIterator>& rhs
|
sprout::insert_range_iterator<DstIterator, SrcIterator>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,7 +175,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(joint_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(joint_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last1, other.last1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(last1, other.last1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(first2, other.first2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(first2, other.first2))
|
||||||
|
@ -314,7 +314,7 @@ namespace sprout {
|
||||||
sprout::joint_iterator<LIterator, RIterator>& lhs,
|
sprout::joint_iterator<LIterator, RIterator>& lhs,
|
||||||
sprout::joint_iterator<LIterator, RIterator>& rhs
|
sprout::joint_iterator<LIterator, RIterator>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(merge_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(merge_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current1, other.current1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
||||||
|
@ -231,7 +231,7 @@ namespace sprout {
|
||||||
sprout::merge_iterator<LIterator, RIterator, Compare>& lhs,
|
sprout::merge_iterator<LIterator, RIterator, Compare>& lhs,
|
||||||
sprout::merge_iterator<LIterator, RIterator, Compare>& rhs
|
sprout::merge_iterator<LIterator, RIterator, Compare>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ namespace sprout {
|
||||||
return move_iterator(sprout::prev(current));
|
return move_iterator(sprout::prev(current));
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(move_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(move_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -181,7 +181,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::move_iterator<Iterator>& lhs, sprout::move_iterator<Iterator>& rhs)
|
swap(sprout::move_iterator<Iterator>& lhs, sprout::move_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,8 +86,9 @@ namespace sprout {
|
||||||
return next_iterator(current);
|
return next_iterator(current);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(next_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(next_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(holder_, other.holder_)) && SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(holder_, other.holder_))
|
||||||
|
&& SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
swap(holder_, other.holder_);
|
swap(holder_, other.holder_);
|
||||||
|
@ -121,7 +122,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::next_iterator<Iterator>& lhs, sprout::next_iterator<Iterator>& rhs)
|
swap(sprout::next_iterator<Iterator>& lhs, sprout::next_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,7 +211,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::ptr_index_iterator<T>& lhs, sprout::ptr_index_iterator<T>& rhs)
|
swap(sprout::ptr_index_iterator<T>& lhs, sprout::ptr_index_iterator<T>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,7 +201,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(remake_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(remake_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(current2, other.current2))
|
&& SPROUT_NOEXCEPT_EXPR(swap(current2, other.current2))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(fst, other.fst))
|
&& SPROUT_NOEXCEPT_EXPR(swap(fst, other.fst))
|
||||||
|
@ -327,7 +327,7 @@ namespace sprout {
|
||||||
template<typename DstIterator, typename SrcIterator>
|
template<typename DstIterator, typename SrcIterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::remake_iterator<DstIterator, SrcIterator>& lhs, sprout::remake_iterator<DstIterator, SrcIterator>& rhs)
|
swap(sprout::remake_iterator<DstIterator, SrcIterator>& lhs, sprout::remake_iterator<DstIterator, SrcIterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ namespace sprout {
|
||||||
return reverse_iterator(sprout::next(current));
|
return reverse_iterator(sprout::next(current));
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(reverse_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(reverse_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -180,7 +180,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::reverse_iterator<Iterator>& lhs, sprout::reverse_iterator<Iterator>& rhs)
|
swap(sprout::reverse_iterator<Iterator>& lhs, sprout::reverse_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -203,7 +203,7 @@ namespace sprout {
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::sawtooth_iterator<Value>& lhs, sprout::sawtooth_iterator<Value>& rhs)
|
swap(sprout::sawtooth_iterator<Value>& lhs, sprout::sawtooth_iterator<Value>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(set_difference_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(set_difference_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
||||||
|
@ -191,7 +191,7 @@ namespace sprout {
|
||||||
sprout::set_difference_iterator<LIterator, RIterator, Compare>& lhs,
|
sprout::set_difference_iterator<LIterator, RIterator, Compare>& lhs,
|
||||||
sprout::set_difference_iterator<LIterator, RIterator, Compare>& rhs
|
sprout::set_difference_iterator<LIterator, RIterator, Compare>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(set_intersection_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(set_intersection_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
||||||
|
@ -191,7 +191,7 @@ namespace sprout {
|
||||||
sprout::set_intersection_iterator<LIterator, RIterator, Compare>& lhs,
|
sprout::set_intersection_iterator<LIterator, RIterator, Compare>& lhs,
|
||||||
sprout::set_intersection_iterator<LIterator, RIterator, Compare>& rhs
|
sprout::set_intersection_iterator<LIterator, RIterator, Compare>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,7 +198,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(set_symmetric_difference_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(set_symmetric_difference_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
||||||
|
@ -259,7 +259,7 @@ namespace sprout {
|
||||||
sprout::set_symmetric_difference_iterator<LIterator, RIterator, Compare>& lhs,
|
sprout::set_symmetric_difference_iterator<LIterator, RIterator, Compare>& lhs,
|
||||||
sprout::set_symmetric_difference_iterator<LIterator, RIterator, Compare>& rhs
|
sprout::set_symmetric_difference_iterator<LIterator, RIterator, Compare>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(set_union_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(set_union_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst1, other.lst1))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(lst2, other.lst2))
|
||||||
|
@ -209,7 +209,7 @@ namespace sprout {
|
||||||
sprout::set_union_iterator<LIterator, RIterator, Compare>& lhs,
|
sprout::set_union_iterator<LIterator, RIterator, Compare>& lhs,
|
||||||
sprout::set_union_iterator<LIterator, RIterator, Compare>& rhs
|
sprout::set_union_iterator<LIterator, RIterator, Compare>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,7 +209,7 @@ namespace sprout {
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::sinusoid_iterator<Value>& lhs, sprout::sinusoid_iterator<Value>& rhs)
|
swap(sprout::sinusoid_iterator<Value>& lhs, sprout::sinusoid_iterator<Value>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,7 +123,7 @@ namespace sprout {
|
||||||
return size_enum_iterator(sprout::prev(current));
|
return size_enum_iterator(sprout::prev(current));
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(size_enum_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(size_enum_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(current, other.current))
|
||||||
{
|
{
|
||||||
sprout::swap(current, other.current);
|
sprout::swap(current, other.current);
|
||||||
}
|
}
|
||||||
|
@ -268,7 +268,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(size_enum_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(size_enum_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(current, other.current))
|
||||||
{
|
{
|
||||||
sprout::swap(current, other.current);
|
sprout::swap(current, other.current);
|
||||||
sprout::swap(sep_size, other.sep_size);
|
sprout::swap(sep_size, other.sep_size);
|
||||||
|
@ -408,7 +408,7 @@ namespace sprout {
|
||||||
template<typename Iterator, bool Separated>
|
template<typename Iterator, bool Separated>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::size_enum_iterator<Iterator, Separated>& lhs, sprout::size_enum_iterator<Iterator, Separated>& rhs)
|
swap(sprout::size_enum_iterator<Iterator, Separated>& lhs, sprout::size_enum_iterator<Iterator, Separated>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,7 +213,7 @@ namespace sprout {
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::square_iterator<Value>& lhs, sprout::square_iterator<Value>& rhs)
|
swap(sprout::square_iterator<Value>& lhs, sprout::square_iterator<Value>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ namespace sprout {
|
||||||
return step_iterator(*this, -1);
|
return step_iterator(*this, -1);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(step_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(step_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(last, other.last))
|
&& SPROUT_NOEXCEPT_EXPR(swap(last, other.last))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(wid, other.wid))
|
&& SPROUT_NOEXCEPT_EXPR(swap(wid, other.wid))
|
||||||
|
@ -235,7 +235,7 @@ namespace sprout {
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::step_iterator<Iterator>& lhs, sprout::step_iterator<Iterator>& rhs)
|
swap(sprout::step_iterator<Iterator>& lhs, sprout::step_iterator<Iterator>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ namespace sprout {
|
||||||
return transform_iterator(sprout::prev(current), sprout::prev(current2), func);
|
return transform_iterator(sprout::prev(current), sprout::prev(current2), func);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(transform_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(transform_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(current2, other.current2))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(func, other.func))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(func, other.func))
|
||||||
|
@ -285,7 +285,7 @@ namespace sprout {
|
||||||
return transform_iterator(sprout::prev(current), func);
|
return transform_iterator(sprout::prev(current), func);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(transform_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(transform_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(sprout::swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(func, other.func))
|
&& SPROUT_NOEXCEPT_EXPR(sprout::swap(func, other.func))
|
||||||
)
|
)
|
||||||
|
@ -404,7 +404,7 @@ namespace sprout {
|
||||||
sprout::transform_iterator<UnaryOrBinaryFunction, LIterator, RIterator>& lhs,
|
sprout::transform_iterator<UnaryOrBinaryFunction, LIterator, RIterator>& lhs,
|
||||||
sprout::transform_iterator<UnaryOrBinaryFunction, LIterator, RIterator>& rhs
|
sprout::transform_iterator<UnaryOrBinaryFunction, LIterator, RIterator>& rhs
|
||||||
)
|
)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ namespace sprout {
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::triangle_iterator<Value>& lhs, sprout::triangle_iterator<Value>& rhs)
|
swap(sprout::triangle_iterator<Value>& lhs, sprout::triangle_iterator<Value>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ namespace sprout {
|
||||||
return value_iterator(holder_, index_ + 1);
|
return value_iterator(holder_, index_ + 1);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(value_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(value_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::swap(holder_, other.holder_)))
|
SPROUT_NOEXCEPT_IF_EXPR(sprout::swap(holder_, other.holder_))
|
||||||
{
|
{
|
||||||
sprout::swap(holder_, other.holder_);
|
sprout::swap(holder_, other.holder_);
|
||||||
sprout::swap(index_, other.index_);
|
sprout::swap(index_, other.index_);
|
||||||
|
@ -185,7 +185,7 @@ namespace sprout {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::value_iterator<T>& lhs, sprout::value_iterator<T>& rhs)
|
swap(sprout::value_iterator<T>& lhs, sprout::value_iterator<T>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ namespace sprout {
|
||||||
return valued_iterator(sprout::prev(current), holder);
|
return valued_iterator(sprout::prev(current), holder);
|
||||||
}
|
}
|
||||||
SPROUT_CXX14_CONSTEXPR void swap(valued_iterator& other)
|
SPROUT_CXX14_CONSTEXPR void swap(valued_iterator& other)
|
||||||
SPROUT_NOEXCEPT_EXPR(
|
SPROUT_NOEXCEPT_IF(
|
||||||
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
SPROUT_NOEXCEPT_EXPR(swap(current, other.current))
|
||||||
&& SPROUT_NOEXCEPT_EXPR(swap(holder, other.holder))
|
&& SPROUT_NOEXCEPT_EXPR(swap(holder, other.holder))
|
||||||
)
|
)
|
||||||
|
@ -202,7 +202,7 @@ namespace sprout {
|
||||||
template<typename Iterator, typename T>
|
template<typename Iterator, typename T>
|
||||||
inline SPROUT_CXX14_CONSTEXPR void
|
inline SPROUT_CXX14_CONSTEXPR void
|
||||||
swap(sprout::valued_iterator<Iterator, T>& lhs, sprout::valued_iterator<Iterator, T>& rhs)
|
swap(sprout::valued_iterator<Iterator, T>& lhs, sprout::valued_iterator<Iterator, T>& rhs)
|
||||||
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)))
|
SPROUT_NOEXCEPT_IF_EXPR(lhs.swap(rhs))
|
||||||
{
|
{
|
||||||
lhs.swap(rhs);
|
lhs.swap(rhs);
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue