diff --git a/include/stdx/optional.hpp b/include/stdx/optional.hpp index 042b64d..f631420 100644 --- a/include/stdx/optional.hpp +++ b/include/stdx/optional.hpp @@ -23,6 +23,11 @@ template struct tombstone_traits { } }; +template constexpr auto has_tombstone_v = true; +template +constexpr auto has_tombstone_v< + T, std::void_t::unspecialized>> = false; + template struct tombstone_traits>> { constexpr auto operator()() const { @@ -35,6 +40,17 @@ struct tombstone_traits>> { constexpr auto operator()() const { return nullptr; } }; +template