forked from boostorg/variant2
Add MSVC workaround for monospace constexpr (refs #25)
This commit is contained in:
@ -81,6 +81,8 @@ struct monostate
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1940)
|
||||||
|
|
||||||
constexpr bool operator<(monostate, monostate) noexcept { return false; }
|
constexpr bool operator<(monostate, monostate) noexcept { return false; }
|
||||||
constexpr bool operator>(monostate, monostate) noexcept { return false; }
|
constexpr bool operator>(monostate, monostate) noexcept { return false; }
|
||||||
constexpr bool operator<=(monostate, monostate) noexcept { return true; }
|
constexpr bool operator<=(monostate, monostate) noexcept { return true; }
|
||||||
@ -88,6 +90,17 @@ constexpr bool operator>=(monostate, monostate) noexcept { return true; }
|
|||||||
constexpr bool operator==(monostate, monostate) noexcept { return true; }
|
constexpr bool operator==(monostate, monostate) noexcept { return true; }
|
||||||
constexpr bool operator!=(monostate, monostate) noexcept { return false; }
|
constexpr bool operator!=(monostate, monostate) noexcept { return false; }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
constexpr bool operator<(monostate const&, monostate const&) noexcept { return false; }
|
||||||
|
constexpr bool operator>(monostate const&, monostate const&) noexcept { return false; }
|
||||||
|
constexpr bool operator<=(monostate const&, monostate const&) noexcept { return true; }
|
||||||
|
constexpr bool operator>=(monostate const&, monostate const&) noexcept { return true; }
|
||||||
|
constexpr bool operator==(monostate const&, monostate const&) noexcept { return true; }
|
||||||
|
constexpr bool operator!=(monostate const&, monostate const&) noexcept { return false; }
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// variant forward declaration
|
// variant forward declaration
|
||||||
|
|
||||||
template<class... T> class variant;
|
template<class... T> class variant;
|
||||||
|
Reference in New Issue
Block a user