#pragma once #include "src/Core/Core.h" #include namespace Nuake { class Layer; class LayerStack { public: LayerStack(); ~LayerStack() = default; void PushLayer(Ref layer); void PopLayer(Ref layer); void PushOverlayLayer(Ref layer); void PopOverlayLayer(Ref layer); std::vector>::iterator begin() { return m_Layers.begin(); } std::vector>::iterator end() { return m_Layers.end(); } private: std::vector> m_Layers; std::vector>::iterator m_LayerInsert; }; }