5 #include "core_export.h" 43 object(
const object&) =
default;
44 object& operator =(
const object&) =
default;
45 virtual ~
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>
50 template<
typename object_t>
63 bool equals(
const object& obj)
const noexcept;
72 static bool equals(
const object& object_a,
const object& object_b) noexcept;
76 virtual size_t get_hash_code()
const noexcept;
90 template<
typename object_t>
91 std::unique_ptr<object_t>
memberwise_clone() const noexcept {
return std::make_unique<object_t>(
dynamic_cast<const object_t&
>(*this));}
100 static bool reference_equals(
const object& object_a,
const object& object_b) noexcept;
111 template<
typename object_t>
117 template<
typename object_t>
119 return object_a.
equals(object_b);
125 std::ostream& operator <<(std::ostream& os,
const object& obj) noexcept;
Contains xtd fundamental types.
std::unique_ptr< object_t > memberwise_clone() const noexcept
Creates a shallow copy of the current object.
Definition: object.h:91
virtual bool equals(const type_t &) const noexcept=0
Indicates whether the current object is equal to another object of the same type. ...
Contains xtd::iequatable interface.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
std::string to_string(const date_time &value, const std::string &fmt, const std::locale &loc)
Convert a specified value into a string with specified format and locale.
Definition: date_time.h:1063
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
Represents type declarations: class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types.
Definition: type_object.h:36
Contains xtd::size type and xtd::size_object alias.