#pragma once #include "vk/core/device.hpp" #include #include namespace VK::Core { /// /// C++ wrapper class for a Vulkan command pool. /// /// This class manages the lifetime of a Vulkan command pool. /// class CommandPool { public: /// /// Create the command pool. /// /// @param device Vulkan device /// /// @throws VK::vulkan_error if object creation fails. /// CommandPool(const Device& device); /// Get the Vulkan handle. [[nodiscard]] auto handle() const { return *this->commandPool; } private: std::shared_ptr commandPool; }; }