From 7c6912dc2abcdea69a7929a87e9c1be991849317 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Mon, 4 Jan 2016 18:20:37 +0100 Subject: [PATCH] Add `pop_back()`, `back()` and avoid `delete` in `erase()` method --- src/Surfaces/SurfaceStack.cpp | 9 ++++++++- src/Surfaces/SurfaceStack.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Surfaces/SurfaceStack.cpp b/src/Surfaces/SurfaceStack.cpp index ef5351c..f3e784f 100644 --- a/src/Surfaces/SurfaceStack.cpp +++ b/src/Surfaces/SurfaceStack.cpp @@ -9,8 +9,11 @@ void SurfaceStack::push_back(BaseSurface * s){ _surfaces.push_back(s); } +void SurfaceStack::pop_back(){ + _surfaces.pop_back(); +} + void SurfaceStack::erase(int i){ - delete _surfaces[i]; _surfaces.erase(_surfaces.begin() + i); } @@ -35,5 +38,9 @@ BaseSurface * SurfaceStack::operator[](int i){ return _surfaces[i]; } +BaseSurface * SurfaceStack::back(){ + return _surfaces.back(); +} + } // namespace piMapper } // namespace ofx \ No newline at end of file diff --git a/src/Surfaces/SurfaceStack.h b/src/Surfaces/SurfaceStack.h index 113f260..1eb1b1f 100644 --- a/src/Surfaces/SurfaceStack.h +++ b/src/Surfaces/SurfaceStack.h @@ -12,6 +12,7 @@ class SurfaceStack { SurfaceStack(); void push_back(BaseSurface * s); + void pop_back(); void erase(int i); void swap(int a, int b); void draw(); @@ -19,6 +20,7 @@ class SurfaceStack { int size(); BaseSurface * operator[](int i); + BaseSurface * back(); private: vector _surfaces;