summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2014-09-11 19:23:03 +0900
committerCaolán McNamara <caolanm@redhat.com>2014-09-11 13:32:41 +0000
commit2f1a28cf8fcfdfc369cf91936062c4f942ec03dd (patch)
tree1220503e5725e65a073011f604f7f9d4101609bc
parent884229ed3ee2f84eb052c866e22bdb242a385788 (diff)
fdo#75757: remove inheritance to std::vector
from LayeredDevice::LayerContainer. Change-Id: Icc4b16db92daadbd742e83e90c95477c0c465f5b Reviewed-on: https://gerrit.libreoffice.org/11397 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx28
1 files changed, 24 insertions, 4 deletions
diff --git a/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx b/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
index 72fdfe636695..2fc8f014cfa8 100644
--- a/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
+++ b/sd/source/ui/slidesorter/view/SlsLayeredDevice.cxx
@@ -130,11 +130,31 @@ typedef ::boost::shared_ptr<Layer> SharedLayer;
} // end of anonymous namespace
-class LayeredDevice::LayerContainer : public ::std::vector<SharedLayer>
+class LayeredDevice::LayerContainer
{
public:
- LayerContainer (void) {}
- ~LayerContainer (void) {}
+ LayerContainer() : mvLayers() {}
+
+ bool empty() const { return mvLayers.empty(); }
+
+ size_t size() const { return mvLayers.size(); }
+
+ const SharedLayer& back() const { return mvLayers.back(); }
+
+ const ::std::vector<SharedLayer>::const_iterator begin() const { return mvLayers.begin(); }
+ const ::std::vector<SharedLayer>::const_iterator end() const { return mvLayers.end(); }
+
+ void clear() { mvLayers.clear(); }
+
+ void pop_back() { mvLayers.pop_back(); }
+
+ void resize(size_t n) { mvLayers.resize(n); }
+
+ const SharedLayer& operator[](size_t i) const { return mvLayers[i]; }
+ SharedLayer& operator[](size_t i) { return mvLayers[i]; }
+
+private:
+ ::std::vector<SharedLayer> mvLayers;
};
//===== LayeredDevice =========================================================
@@ -232,7 +252,7 @@ void LayeredDevice::RemovePainter (
// Remove top most layers that do not contain any painters.
while ( ! mpLayers->empty() && ! mpLayers->back()->HasPainter())
- mpLayers->erase(mpLayers->end()-1);
+ mpLayers->pop_back();
}
void LayeredDevice::Repaint (const Region& rRepaintRegion)