[Libreoffice-commits] core.git: sfx2/source
Takeshi Abe
tabe at fixedpoint.jp
Tue Nov 7 01:02:47 UTC 2017
sfx2/source/dialog/versdlg.cxx | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)
New commits:
commit fe7384f7d6539210d46b31f9bde64129088be32b
Author: Takeshi Abe <tabe at 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.grandin at collabora.co.uk>
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Takeshi Abe <tabe at 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 )
{
More information about the Libreoffice-commits
mailing list