#pragma once #include #include #include #include #include "types.hpp" namespace flat { namespace core { class object; } } class flat::core::object { std::string id; /* Common list of objects */ static std::list all_objects; public: object(); ~object(); void set_id(const std::string&); const std::string& get_id() const; /* Static accessors to allObject */ static bool is_allocated(object*); static std::vector& get_by_id(const std::string& id, std::vector&); static std::string random_id(uint8_t length = 8); };