#pragma once

class Renderable_Base;
class Frame_Render_Snapshot;

class Render_State_View {
public:
    template <class Source>
    [[nodiscard]] const auto& get(const Source& source) const noexcept {
        return source.render_state_value();
    }

private:
    friend class Renderable_Base;
    friend class Frame_Render_Snapshot;
    Render_State_View() = default;
};
