2017-12-25 23:49:48 +00:00
|
|
|
#ifndef OBJECT_HPP_INCLUDED
|
|
|
|
#define OBJECT_HPP_INCLUDED
|
|
|
|
|
|
|
|
class Class;
|
|
|
|
|
|
|
|
class Object
|
|
|
|
{
|
|
|
|
public:
|
2018-12-26 08:44:53 +00:00
|
|
|
void* Obj = nullptr;
|
2017-12-25 23:49:48 +00:00
|
|
|
Object();
|
|
|
|
Object(const void* Obj);
|
|
|
|
Object(const Object& O);
|
2018-03-20 16:16:11 +00:00
|
|
|
Object(Object&& O);
|
2017-12-25 23:49:48 +00:00
|
|
|
Object& operator=(const Object& O);
|
2018-12-26 08:44:53 +00:00
|
|
|
Object& operator=(Object&& O);
|
2017-12-25 23:49:48 +00:00
|
|
|
bool operator==(const Object& O) const;
|
|
|
|
bool operator!=(const Object& O) const;
|
|
|
|
bool Equals(Object O) const;
|
|
|
|
bool InstanceOf(Class C) const;
|
|
|
|
operator bool() const;
|
|
|
|
operator void*() const;
|
2018-03-27 02:51:41 +00:00
|
|
|
~Object();
|
2017-12-25 23:49:48 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // OBJECT_HPP_INCLUDED
|