// Copyright (C) 2022 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Vulkan renderer" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include namespace Nz::Vk { template template AutoFree::AutoFree(Args&&... args) : m_object(std::forward(args)...) { } template AutoFree::~AutoFree() { m_object.Free(); } template T& AutoFree::Get() { return m_object; } template const T& AutoFree::Get() const { return m_object; } template T* AutoFree::operator->() { return &m_object; } template const T* AutoFree::operator->() const { return &m_object; } template AutoFree::operator T&() { return Get(); } template AutoFree::operator const T&() const { return Get(); } } #include