10 using ListOfLayers = std::vector<std::unique_ptr<Layer>>;
12 LayerList() =
default;
15 void pushLayer(std::unique_ptr<Layer> layer);
16 void pushOverlay(std::unique_ptr<Layer> overlay);
18 void pushLayer(
Layer *layer);
19 void pushOverlay(
Layer *overlay);
21 void popLayer(
Layer *layer);
22 void popOverlay(
Layer *overlay);
24 ListOfLayers::iterator begin() {
return m_layers.begin(); }
25 ListOfLayers::iterator end() {
return m_layers.end(); }
26 ListOfLayers::reverse_iterator rbegin() {
return m_layers.rbegin(); }
27 ListOfLayers::reverse_iterator rend() {
return m_layers.rend(); }
29 ListOfLayers::const_iterator begin()
const {
return m_layers.begin(); }
30 ListOfLayers::const_iterator end()
const {
return m_layers.end(); }
31 ListOfLayers::const_reverse_iterator rbegin()
const {
return m_layers.rbegin(); }
32 ListOfLayers::const_reverse_iterator rend()
const {
return m_layers.rend(); }
35 ListOfLayers m_layers;
36 size_t m_layerInsertIndex = 0;