33 lines
781 B
C++
33 lines
781 B
C++
#ifndef OBJECT_HPP_INCLUDED
|
|
#define OBJECT_HPP_INCLUDED
|
|
|
|
#include <string>
|
|
|
|
namespace Internal
|
|
{
|
|
class Class;
|
|
class Object
|
|
{
|
|
public:
|
|
void* Obj = nullptr;
|
|
|
|
Object(const void* Obj = nullptr) noexcept;
|
|
Object(Object&& Obj) noexcept;
|
|
Object(const Object& Obj) noexcept;
|
|
Object& operator=(Object&& Obj) noexcept;
|
|
Object& operator=(const Object& Obj) noexcept;
|
|
|
|
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
|