diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2017-11-06 18:22:36 +0900 |
---|---|---|
committer | Takeshi Abe <tabe@fixedpoint.jp> | 2017-11-07 02:02:18 +0100 |
commit | fe7384f7d6539210d46b31f9bde64129088be32b (patch) | |
tree | 63847d6c2830809e523dc9d655ebb9bf5dfca8d9 /sfx2 | |
parent | a5af0fd9f27af42cf2e8571f659cdad6e606215b (diff) |
sfx2: Simplify SfxVersionTableDtor's code with std::unique_ptr
Change-Id: I8279f7ae14301f485c2678271939fb6ad72d4721
Reviewed-on: https://gerrit.libreoffice.org/44350
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/dialog/versdlg.cxx | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx index 5f32f12cc6a3..a5864f2cc84c 100644 --- a/sfx2/source/dialog/versdlg.cxx +++ b/sfx2/source/dialog/versdlg.cxx @@ -46,12 +46,11 @@ #include <sfx2/request.hxx> #include <sfx2/sfxuno.hxx> +#include <memory> #include <vector> using namespace com::sun::star; -using ::std::vector; -// ************************************************************************** struct SfxVersionInfo { OUString aName; @@ -65,35 +64,31 @@ struct SfxVersionInfo class SfxVersionTableDtor { private: - std::vector< SfxVersionInfo* > aTableList; + std::vector<std::unique_ptr<SfxVersionInfo>> aTableList; public: explicit SfxVersionTableDtor( const uno::Sequence < util::RevisionTag >& rInfo ); explicit SfxVersionTableDtor( const uno::Sequence < document::CmisVersion > & rInfo ); - ~SfxVersionTableDtor() - { DelDtor(); } SfxVersionTableDtor(const SfxVersionTableDtor&) = delete; SfxVersionTableDtor& operator=(const SfxVersionTableDtor&) = delete; - void DelDtor(); - size_t size() const { return aTableList.size(); } SfxVersionInfo* at( size_t i ) const - { return aTableList[ i ]; } + { return aTableList[ i ].get(); } }; SfxVersionTableDtor::SfxVersionTableDtor( const uno::Sequence < util::RevisionTag >& rInfo ) { for ( sal_Int32 n=0; n<rInfo.getLength(); n++ ) { - SfxVersionInfo* pInfo = new SfxVersionInfo; + std::unique_ptr<SfxVersionInfo> pInfo(new SfxVersionInfo); pInfo->aName = rInfo[n].Identifier; pInfo->aComment = rInfo[n].Comment; pInfo->aAuthor = rInfo[n].Author; pInfo->aCreationDate = DateTime( rInfo[n].TimeStamp ); - aTableList.push_back( pInfo ); + aTableList.push_back( std::move(pInfo) ); } } @@ -101,23 +96,16 @@ SfxVersionTableDtor::SfxVersionTableDtor( const uno::Sequence < document::CmisVe { for ( sal_Int32 n=0; n<rInfo.getLength(); n++ ) { - SfxVersionInfo* pInfo = new SfxVersionInfo; + std::unique_ptr<SfxVersionInfo> pInfo(new SfxVersionInfo); pInfo->aName = rInfo[n].Id; pInfo->aComment = rInfo[n].Comment; pInfo->aAuthor = rInfo[n].Author; pInfo->aCreationDate = DateTime( rInfo[n].TimeStamp ); - aTableList.push_back( pInfo ); + aTableList.push_back( std::move(pInfo) ); } } -void SfxVersionTableDtor::DelDtor() -{ - for (SfxVersionInfo* i : aTableList) - delete i; - aTableList.clear(); -} - SfxVersionInfo::SfxVersionInfo() : aCreationDate( DateTime::EMPTY ) { |