libikarus/src/objects/object.hpp
2025-04-15 12:10:42 +02:00

27 lines
629 B
C++

#pragma once
#include <ikarus/id.h>
struct IkarusObject {
public:
IkarusObject(struct IkarusProject * project, IkarusId id);
IkarusObject(IkarusObject const&) = default;
IkarusObject(IkarusObject&&) = default;
IkarusObject& operator=(IkarusObject const&) = default;
IkarusObject& operator=(IkarusObject&&) = default;
virtual ~IkarusObject() = default;
public:
[[nodiscard]] struct IkarusProject * get_project();
[[nodiscard]] struct IkarusProject * get_project() const;
[[nodiscard]] IkarusId get_id() const;
private:
struct IkarusProject mutable * _project;
IkarusId _id;
};