30 lines
716 B
C++
30 lines
716 B
C++
#ifndef OBJECT_HPP_INCLUDED
|
|
#define OBJECT_HPP_INCLUDED
|
|
|
|
namespace Internal
|
|
{
|
|
class Class;
|
|
class Object
|
|
{
|
|
public:
|
|
void* Obj = nullptr;
|
|
|
|
Object(const void* Obj = nullptr);
|
|
Object(Object&& Obj);
|
|
Object(const Object& Obj);
|
|
Object& operator=(Object&& Obj);
|
|
Object& operator=(const Object& Obj);
|
|
|
|
bool operator==(const Object& O) const;
|
|
bool operator!=(const Object& O) const;
|
|
operator bool() const;
|
|
operator void*() const;
|
|
|
|
bool Equals(Object O) const;
|
|
bool InstanceOf(Class C) const;
|
|
virtual ~Object();
|
|
};
|
|
}
|
|
|
|
#endif // OBJECT_HPP_INCLUDED
|