7#if !defined(__XTD_CORE_INTERNAL__)
8#error "Do not include this file: Internal use only"
17template<
class key_t,
class bool_t>
18struct __object_equator__ {};
21struct __object_equator__<key_t, std::true_type> {
26struct __object_equator__<key_t, std::false_type> {
27 bool operator()(
const key_t& a,
const key_t& b)
const {
return std::equal_to<key_t> {}(
a,
b);}
30template<
class key_t,
class bool_t>
31struct __polymorphic_equator__ {};
34struct __polymorphic_equator__<key_t, std::true_type> {
35 bool operator()(
const key_t& a,
const key_t& b)
const {
return __object_equator__<key_t, typename std::is_base_of<xtd::object, key_t>::type> {}(
a,
b);}
39struct __polymorphic_equator__<key_t, std::false_type> {
40 bool operator()(
const key_t& a,
const key_t& b)
const {
return std::equal_to<key_t> {}(
a,
b);}
virtual bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.