layerstack iterator functions

This commit is contained in:
2026-03-16 20:13:27 +01:00
parent e152bf93b3
commit 4bc043e5a1

View File

@@ -1,6 +1,7 @@
#pragma once
#include "Layer.h"
#include <iterator>
#include <vector>
namespace SakuraVNE {
@@ -14,6 +15,16 @@ public:
void PushOverLay(Layer *layer);
void PopOverlay(Layer *layer);
std::vector<Layer *>::iterator begin() { return m_LayerStack.begin(); }
std::vector<Layer *>::iterator end() { return m_LayerStack.end(); }
std::vector<Layer *>::reverse_iterator rbegin() { return m_LayerStack.rbegin(); }
std::vector<Layer *>::reverse_iterator rend() { return m_LayerStack.rend(); }
std::vector<Layer *>::const_iterator begin() const { return m_LayerStack.begin(); }
std::vector<Layer *>::const_iterator end() const { return m_LayerStack.end(); }
std::vector<Layer *>::const_reverse_iterator rbegin() const { return m_LayerStack.rbegin(); }
std::vector<Layer *>::const_reverse_iterator rend() const { return m_LayerStack.rend(); }
#ifdef DEBUG
// this is only used for the tests for now, so it will be taken out of the release build
inline const std::vector<Layer *> &GetLayers() const { return m_LayerStack; }