#include #include // for ResultBuilder, TestCase, REQUIRE #include // for uint64_t #include // for shared_ptr, __unique_ptr_t, make... #include // for declval template void check(Ptr const& ptr) { REQUIRE(ankerl::unordered_dense::hash{}(ptr) == ankerl::unordered_dense::hash().get())>{}(ptr.get())); } TEST_CASE("hash_smart_ptr") { check(std::unique_ptr{}); check(std::shared_ptr{}); check(std::make_shared(123U)); check(std::make_unique(123U)); check(std::make_unique(uint64_t{123U})); }