Browse Source

Add `pop_back()`, `back()` and avoid `delete` in `erase()` method

master
Krisjanis Rijnieks 10 years ago
parent
commit
7c6912dc2a
  1. 9
      src/Surfaces/SurfaceStack.cpp
  2. 2
      src/Surfaces/SurfaceStack.h

9
src/Surfaces/SurfaceStack.cpp

@ -9,8 +9,11 @@ void SurfaceStack::push_back(BaseSurface * s){
_surfaces.push_back(s); _surfaces.push_back(s);
} }
void SurfaceStack::pop_back(){
_surfaces.pop_back();
}
void SurfaceStack::erase(int i){ void SurfaceStack::erase(int i){
delete _surfaces[i];
_surfaces.erase(_surfaces.begin() + i); _surfaces.erase(_surfaces.begin() + i);
} }
@ -35,5 +38,9 @@ BaseSurface * SurfaceStack::operator[](int i){
return _surfaces[i]; return _surfaces[i];
} }
BaseSurface * SurfaceStack::back(){
return _surfaces.back();
}
} // namespace piMapper } // namespace piMapper
} // namespace ofx } // namespace ofx

2
src/Surfaces/SurfaceStack.h

@ -12,6 +12,7 @@ class SurfaceStack {
SurfaceStack(); SurfaceStack();
void push_back(BaseSurface * s); void push_back(BaseSurface * s);
void pop_back();
void erase(int i); void erase(int i);
void swap(int a, int b); void swap(int a, int b);
void draw(); void draw();
@ -19,6 +20,7 @@ class SurfaceStack {
int size(); int size();
BaseSurface * operator[](int i); BaseSurface * operator[](int i);
BaseSurface * back();
private: private:
vector<BaseSurface *> _surfaces; vector<BaseSurface *> _surfaces;

Loading…
Cancel
Save