summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2014-10-05 11:40:03 +0900
committerDavid Tardon <dtardon@redhat.com>2014-10-06 14:09:20 +0000
commitb1d48f0d9a3442c11adae6e36325a463d89ce44e (patch)
treec6e090cf71c2a9c9c49a37465af27ac14e1a31d1 /include
parent4108bd9b7a41eaa0f3bf8b8173f27f57e009ee34 (diff)
fdo#75757: remove inheritance to std::vector
from PptSlidePersistList. This also puts in assertions that every entry in a PptSlidePersistList is non-null. Cf. 9536a28ede89e8c29940e8ba225215a45667062c Change-Id: Iea35532ed668e58a3f02d3f3433a66c2d4e1fe2a Reviewed-on: https://gerrit.libreoffice.org/11807 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/filter/msfilter/svdfppt.hxx25
1 files changed, 15 insertions, 10 deletions
diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx
index 594cb54391e0..9fed6d0a0876 100644
--- a/include/filter/msfilter/svdfppt.hxx
+++ b/include/filter/msfilter/svdfppt.hxx
@@ -346,21 +346,26 @@ public:
sal_uInt32 GetSlideId() const { return aPersistAtom.nSlideId; }
};
-class _PptSlidePersistList : public std::vector<PptSlidePersistEntry*>
+#define PPTSLIDEPERSIST_ENTRY_NOTFOUND 0xFFFF
+
+class MSFILTER_DLLPUBLIC PptSlidePersistList
{
+private:
+ boost::ptr_vector<PptSlidePersistEntry> mvEntries;
+
public:
- ~_PptSlidePersistList()
+ size_t size() const { return mvEntries.size(); }
+ bool is_null( size_t nIdx ) const { return mvEntries.is_null( nIdx ); }
+ const PptSlidePersistEntry& operator[]( size_t nIdx ) const { return mvEntries[ nIdx ]; }
+ PptSlidePersistEntry& operator[]( size_t nIdx ) { return mvEntries[ nIdx ]; }
+ boost::ptr_vector<PptSlidePersistEntry>::iterator begin() { return mvEntries.begin(); }
+ void insert( boost::ptr_vector<PptSlidePersistEntry>::iterator it,
+ PptSlidePersistEntry* pEntry )
{
- for( const_iterator it = begin(); it != end(); ++it )
- delete *it;
+ mvEntries.insert(it, pEntry);
}
-};
+ void push_back( PptSlidePersistEntry* pEntry ) { mvEntries.push_back(pEntry); }
-#define PPTSLIDEPERSIST_ENTRY_NOTFOUND 0xFFFF
-
-class MSFILTER_DLLPUBLIC PptSlidePersistList: public _PptSlidePersistList
-{
-public:
sal_uInt16 FindPage( sal_uInt32 nId ) const;
};