diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-10-02 10:55:46 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-10-04 08:15:37 +0200 |
commit | 5c7de51f908e866cdab7dbf4aa22aa48f42dc153 (patch) | |
tree | 5ff2f6f3d7ec4de89faef7a5bdb4787a517b3945 /sc | |
parent | 5f5d890c242b8a092804991dba809f6f4287cfb2 (diff) |
loplugin:useuniqueptr in ResultMembers
no need to store a small structure separately on the heap
Change-Id: I054ca078242225d12cf8abc86e25813586e6495f
Reviewed-on: https://gerrit.libreoffice.org/61299
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/dptabres.hxx | 13 | ||||
-rw-r--r-- | sc/source/core/data/dptabres.cxx | 22 |
2 files changed, 13 insertions, 22 deletions
diff --git a/sc/inc/dptabres.hxx b/sc/inc/dptabres.hxx index 276392fbe6be..990fbe8172e8 100644 --- a/sc/inc/dptabres.hxx +++ b/sc/inc/dptabres.hxx @@ -218,11 +218,6 @@ class ScDPDataMember; #define SC_DPMEASURE_ALL -1 #define SC_DPMEASURE_ANY -2 -struct MemberHashIndexFunc -{ - size_t operator() (SCROW rDataIndex) const { return rDataIndex; } -}; - struct ScDPParentDimData { const SCROW mnOrder; //! Ref @@ -234,15 +229,13 @@ struct ScDPParentDimData ScDPParentDimData(SCROW nIndex, const ScDPDimension* pDim, const ScDPLevel* pLev, const ScDPMember* pMember); }; -typedef std::unordered_map < SCROW, ScDPParentDimData *, MemberHashIndexFunc> DimMemberHash; - class ResultMembers final { - DimMemberHash maMemberHash; + std::unordered_map<SCROW, ScDPParentDimData> maMemberHash; bool mbHasHideDetailsMember; public: - ScDPParentDimData* FindMember( SCROW nIndex ) const; - void InsertMember( ScDPParentDimData* pNew ); + const ScDPParentDimData* FindMember( SCROW nIndex ) const; + void InsertMember( ScDPParentDimData const & rNew ); bool IsHasHideDetailsMembers() const { return mbHasHideDetailsMember; } void SetHasHideDetailsMembers( bool b ) { mbHasHideDetailsMember = b; } ResultMembers(); diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx index e5bef46c3256..7b9e9aa9c792 100644 --- a/sc/source/core/data/dptabres.cxx +++ b/sc/source/core/data/dptabres.cxx @@ -929,8 +929,8 @@ ResultMembers& ScDPResultData::GetDimResultMembers(long nDim, const ScDPDimensio ScDPMember* pMember = pMembers->getByIndex(nSorted); if (!pResultMembers->FindMember(pMember->GetItemDataId())) { - ScDPParentDimData* pNew = new ScDPParentDimData(i, pDim, pLevel, pMember); - pResultMembers->InsertMember(pNew); + ScDPParentDimData aNew(i, pDim, pLevel, pMember); + pResultMembers->InsertMember(aNew); } } @@ -4021,7 +4021,7 @@ void ScDPResultDimension::InitWithMembers( if ( pResultMember == nullptr ) { //only insert found item - ScDPParentDimData* pMemberData = rMembers.FindMember( nDataID ); + const ScDPParentDimData* pMemberData = rMembers.FindMember( nDataID ); if ( pMemberData && aCompare.IsIncluded( *( pMemberData->mpMemberDesc ) ) ) pResultMember = InsertMember( pMemberData ); } @@ -4041,20 +4041,20 @@ ScDPParentDimData::ScDPParentDimData( SCROW nIndex, const ScDPDimension* pDim, const ScDPLevel* pLev, const ScDPMember* pMember) : mnOrder(nIndex), mpParentDim(pDim), mpParentLevel(pLev), mpMemberDesc(pMember) {} -ScDPParentDimData* ResultMembers::FindMember( SCROW nIndex ) const +const ScDPParentDimData* ResultMembers::FindMember( SCROW nIndex ) const { - DimMemberHash::const_iterator aRes = maMemberHash.find( nIndex ); + auto aRes = maMemberHash.find( nIndex ); if( aRes != maMemberHash.end()) { - if ( aRes->second->mpMemberDesc && aRes->second->mpMemberDesc->GetItemDataId()==nIndex ) - return aRes->second; + if ( aRes->second.mpMemberDesc && aRes->second.mpMemberDesc->GetItemDataId()==nIndex ) + return &aRes->second; } return nullptr; } -void ResultMembers::InsertMember( ScDPParentDimData* pNew ) +void ResultMembers::InsertMember( const ScDPParentDimData& rNew ) { - if ( !pNew->mpMemberDesc->getShowDetails() ) + if ( !rNew.mpMemberDesc->getShowDetails() ) mbHasHideDetailsMember = true; - maMemberHash.insert( std::pair< const SCROW, ScDPParentDimData *>( pNew->mpMemberDesc->GetItemDataId(), pNew ) ); + maMemberHash.emplace( rNew.mpMemberDesc->GetItemDataId(), rNew ); } ResultMembers::ResultMembers(): @@ -4063,8 +4063,6 @@ ResultMembers::ResultMembers(): } ResultMembers::~ResultMembers() { - for ( DimMemberHash::const_iterator iter = maMemberHash.begin(); iter != maMemberHash.end(); ++iter ) - delete iter->second; } LateInitParams::LateInitParams( |