43 object(
const object&) =
default;
44 object& operator =(
const object&) =
default;
46 friend bool operator ==(
const object& a,
const object& b)
noexcept {
return a.equals(
b);}
47 friend bool operator !=(
const object& a,
const object& b)
noexcept {
return !
a.equals(b);}
48 template<
typename object_t>
49 friend bool operator ==(
const iequatable<object_t>& a,
const iequatable<object_t>& b)
noexcept {
return dynamic_cast<const iequatable<object_t>*
>(&b) && a.equals(
dynamic_cast<const iequatable<object_t>&
>(b));}
50 template<
typename object_t>
51 friend bool operator !=(
const iequatable<object_t>& a,
const iequatable<object_t>& b)
noexcept {
return !
dynamic_cast<const iequatable<object_t>*
>(&
b) || !
a.equals(
dynamic_cast<const iequatable<object_t>&
>(b));}
63 bool equals(
const object& obj)
const noexcept;
89 template<typename object_t>
90 std::unique_ptr<object_t> memberwise_clone() const noexcept {
return std::make_unique<object_t>(
dynamic_cast<const object_t&
>(*
this));}
110 static
bool equals(const
object& object_a, const
object& object_b) noexcept;
119 static
bool reference_equals(const
object& object_a, const
object& object_b) noexcept;
123 template<typename object_t>
124 bool equals(const
iequatable<object_t>& obj) const noexcept {
129 template<
typename object_t>
131 return object_a.equals(object_b);
137 std::ostream& operator <<(std::ostream& os,
const object& obj)
noexcept;
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.h:18
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:32
virtual size_t get_hash_code() const noexcept
Serves as a hash function for a particular type.
virtual xtd::ustring to_string() const noexcept
Returns a sxd::ustring that represents the current object.
bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.
object()=default
Create a new instance of the ultimate base class object.
Represents type declarations: class types, interface types, array types, value types,...
Definition type_object.h:36
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
Contains core_export_ keyword.
#define core_export_
Define shared library export.
Definition core_export.h:13
Contains xtd::iequatable interface.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::size type and xtd::size_object alias.
Contains xtd fundamental types.