#ifndef OBJECT_HPP_INCLUDED #define OBJECT_HPP_INCLUDED class Class; class Object { public: void* Obj; Object(); Object(const void* Obj); Object(const Object& O); Object(Object&& O); Object& operator=(const Object& O); 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; ~Object(); }; #endif // OBJECT_HPP_INCLUDED