#pragma once #include"RuntimeAssetManager.h" #include using namespace hgl; using InstanceID =uint64_t; using PhysicalDeviceID =uint64_t; struct Instance:public RuntimeAsset { SortedSets physical_devices; public: using RuntimeAsset::RuntimeAsset; void AddPhysicalDevice(PhysicalDeviceID pd_id) { physical_devices.Add(pd_id); } const SortedSets &GetPhysicalDevices()const{return physical_devices;} }; struct PhysicalDevice:public RuntimeAsset { InstanceID inst_id; AnsiString device_name; public: using RuntimeAsset::RuntimeAsset; bool Init(const AnsiString &name,const InstanceID &iid) { device_name=name; inst_id=iid; return(true); } };