summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2017-11-06 18:22:36 +0900
committerTakeshi Abe <tabe@fixedpoint.jp>2017-11-07 02:02:18 +0100
commitfe7384f7d6539210d46b31f9bde64129088be32b (patch)
tree63847d6c2830809e523dc9d655ebb9bf5dfca8d9 /sfx2
parenta5af0fd9f27af42cf2e8571f659cdad6e606215b (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.cxx26
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 )
{