xtd 0.2.0
Loading...
Searching...
No Matches
xtd::type_object Class Reference
Inheritance diagram for xtd::type_object:
xtd::object xtd::iequatable< type_object > xtd::interface

Definition

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.

Header
#include <xtd/type_object>
Namespace
xtd
Library
xtd.core
Remarks
For more information about types, see Native types, boxing and unboxing.

Public Member Functions

virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
- Public Member Functions inherited from xtd::iequatable< type_object >

Static Public Member Functions

template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 
xtd::ustring full_name () const noexcept
 Gets the fully qualified name of the type_object, including the namespace of the type_object.
 
xtd::ustring name () const noexcept
 Gets the name of the type_object.
 
xtd::ustring namespace_ () const noexcept
 Gets the namespace of the type_object.
 
bool equals (const type_object &type) const noexcept override
 
xtd::ustring to_string () const noexcept override
 Returns a xtd::ustring that represents the current object.
 

Member Function Documentation

◆ equals() [1/3]

virtual bool xtd::object::equals ( const object obj) const
virtualnoexcept

Determines whether the specified object is equal to the current object.

Parameters
objThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.
Examples
The following code example compares the current instance with another object.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
auto object1 = new_ptr<object>();
auto object2 = new_ptr<object>();
auto object3 = object2;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
object3 = object1;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
}
// This code produces the following output:
//
// false
// false
// true
// true
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10

Reimplemented from xtd::object.

◆ equals() [2/3]

template<typename object_a_t , typename object_b_t >
static bool xtd::object::equals ( const object_a_t &  object_a,
const object_b_t &  object_b 
)
inlinestaticnoexcept

Determines whether the specified object instances are considered equal.

Parameters
object_aThe first object to compare.
object_bThe second object to compare.
Returns
true if object_a is the same instance as object_b or if both are null references or if object_a(object_b) returns true. otherwise, false.
Examples
The following code example compares different objects.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
ustring s1 = "Tom";
ustring s2 = "Carol";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Tom";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Carol";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
}
// This code produces the following output:
//
// object::equals("Tom", "Carol") => false
// object::equals("Tom", "Tom") => true
// object::equals("", "Tom") => false
// object::equals("Carol", "") => false
// object::equals("", "") => true
virtual bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:52

◆ equals() [3/3]

bool xtd::type_object::equals ( const type_object type) const
overridevirtualnoexcept
Methods

Implements xtd::iequatable< type_object >.

◆ full_name()

xtd::ustring xtd::type_object::full_name ( ) const
noexcept

Gets the fully qualified name of the type_object, including the namespace of the type_object.

Properties
Returns
The fully qualified name of the type_object, including the namespace of the type_object.
Remarks
For example, the fully qualified name of the xtd::ustring type is xtd::ustring.

◆ name()

xtd::ustring xtd::type_object::name ( ) const
noexcept

Gets the name of the type_object.

Returns
The name of the type_object.
Remarks
For example, the name of the xtd::ustring type is ustring.

◆ namespace_()

xtd::ustring xtd::type_object::namespace_ ( ) const
noexcept

Gets the namespace of the type_object.

Returns
The namespace of the type_object.
Remarks
For example, the namespace of the xtd::ustring type is xtd::

◆ to_string()

xtd::ustring xtd::type_object::to_string ( ) const
overridevirtualnoexcept

Returns a xtd::ustring that represents the current object.

Returns
A string that represents the current object.
Examples
The following code example demonstrates what to_string returns.
#include <xtd/xtd>
using namespace xtd;
namespace examples {
namespace object_test {
class object1 : public object {
};
}
}
auto main() -> int {
ptr<object> obj1 = new_ptr<examples::object_test::object1>();
console::write_line(obj1->to_string());
ptr<object> obj2 = new_ptr<date_time>(1971, 1, 5, 23, 5, 0);
console::write_line(obj2->to_string());
ptr<object> obj3 = new_ptr<boolean_object>();
console::write_line(obj3->to_string());
}
// This code produces the following output:
//
// examples::object_test::object1
// Tue Jan 5 23:05:00 1971
// false
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:40
xtd::sptr< type_t > ptr
The xtd::ptr object is a shared pointer.
Definition ptr.h:27

Reimplemented from xtd::object.


The documentation for this class was generated from the following file: