diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2014-10-05 11:40:03 +0900 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2014-10-06 14:09:20 +0000 |
commit | b1d48f0d9a3442c11adae6e36325a463d89ce44e (patch) | |
tree | c6e090cf71c2a9c9c49a37465af27ac14e1a31d1 /include | |
parent | 4108bd9b7a41eaa0f3bf8b8173f27f57e009ee34 (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.hxx | 25 |
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; }; |