sfx2/source/dialog/versdlg.cxx | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-)
New commits: commit fe7384f7d6539210d46b31f9bde64129088be32b Author: Takeshi Abe <t...@fixedpoint.jp> Date: Mon Nov 6 18:22:36 2017 +0900 sfx2: Simplify SfxVersionTableDtor's code with std::unique_ptr Change-Id: I8279f7ae14301f485c2678271939fb6ad72d4721 Reviewed-on: https://gerrit.libreoffice.org/44350 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Takeshi Abe <t...@fixedpoint.jp> 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 ) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits