diff --git a/optional.hpp b/optional.hpp index 493eb2e..3e6041d 100644 --- a/optional.hpp +++ b/optional.hpp @@ -232,6 +232,14 @@ struct is_adl_swap_noexcept : std::integral_constant(0))> {}; } +#ifdef _MSC_VER + // TODO make a version which works with MSVC + template + sturct is_swappable : std::true_type{}; + + template + struct is_nothrow_swappable : std::true_type{}; +#else template struct is_swappable : std::integral_constant< @@ -261,6 +269,8 @@ struct is_nothrow_swappable detail::swap_adl_tests::is_adl_swap_noexcept::value))> { }; +#endif + } // [optional.nullopt], no-value state indicator