Program Listing for File renderstage.inl

Return to documentation for file (/home/runner/work/Legion-Engine/Legion-Engine/legion/engine/rendering/pipeline/base/renderstage.inl)

#pragma once

namespace legion::rendering
{
    template<typename T>
    L_NODISCARD inline bool RenderStageBase::has_meta(const std::string& name)
    {
        OPTICK_EVENT();
        return m_pipeline->has_meta<T>(name);
    }

    template<typename T, typename... Args>
    inline T* RenderStageBase::create_meta(const std::string& name, Args&&... args)
    {
        OPTICK_EVENT();
        return m_pipeline->create_meta<T>(name, std::forward<Args>(args)...);
    }

    template<typename T>
    L_NODISCARD inline T* RenderStageBase::get_meta(const std::string& name)
    {
        OPTICK_EVENT();
        return m_pipeline->get_meta<T>(name);
    }

    template<typename T>
    L_NODISCARD inline bool RenderStageBase::has_meta(id_type nameHash)
    {
        OPTICK_EVENT();
        return m_pipeline->has_meta<T>(nameHash);
    }

    template<typename T, typename ...Args>
    inline T* RenderStageBase::create_meta(id_type nameHash, Args && ...args)
    {
        OPTICK_EVENT();
        return m_pipeline->create_meta<T>(nameHash, std::forward<Args>(args)...);
    }

    template<typename T>
    L_NODISCARD inline T* RenderStageBase::get_meta(id_type nameHash)
    {
        OPTICK_EVENT();
        return m_pipeline->get_meta<T>(nameHash);
    }

}