[Libreoffice-commits] core.git: sc/inc sc/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Sun Sep 5 20:12:13 UTC 2021
sc/inc/dpresfilter.hxx | 7 +------
sc/source/core/data/dpresfilter.cxx | 30 ++++++++++++------------------
2 files changed, 13 insertions(+), 24 deletions(-)
New commits:
commit 4cd3ce9848aa039b8d443a1257d1298231680b01
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sat Sep 4 21:02:31 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Sep 5 22:11:38 2021 +0200
no need to allocate DimensionNode with unique_ptr
Change-Id: Ia832d2098b72a9e88e7a708d205c49bd3e9c82a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121652
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/inc/dpresfilter.hxx b/sc/inc/dpresfilter.hxx
index fcc41a296042..379989788559 100644
--- a/sc/inc/dpresfilter.hxx
+++ b/sc/inc/dpresfilter.hxx
@@ -66,11 +66,6 @@ private:
MembersType maChildMembersValueNames;
MembersType maChildMembersValues;
- DimensionNode();
- DimensionNode(const DimensionNode&) = delete;
- const DimensionNode& operator=(const DimensionNode&) = delete;
- ~DimensionNode();
-
#if DEBUG_PIVOT_TABLE
void dump(int nLevel) const;
#endif
@@ -79,7 +74,7 @@ private:
struct MemberNode
{
ValuesType maValues;
- std::map<OUString, std::unique_ptr<DimensionNode>> maChildDimensions;
+ std::map<OUString, DimensionNode> maChildDimensions;
MemberNode();
MemberNode(const MemberNode&) = delete;
diff --git a/sc/source/core/data/dpresfilter.cxx b/sc/source/core/data/dpresfilter.cxx
index 9c6c25413cf2..529abae7dd2e 100644
--- a/sc/source/core/data/dpresfilter.cxx
+++ b/sc/source/core/data/dpresfilter.cxx
@@ -36,12 +36,6 @@ size_t ScDPResultTree::NamePairHash::operator() (const NamePairType& rPair) cons
return seed;
}
-ScDPResultTree::DimensionNode::DimensionNode() {}
-
-ScDPResultTree::DimensionNode::~DimensionNode()
-{
-}
-
#if DEBUG_PIVOT_TABLE
void ScDPResultTree::DimensionNode::dump(int nLevel) const
{
@@ -110,7 +104,7 @@ void ScDPResultTree::add(
if (itDim == rDims.end())
{
// New dimension. Insert it.
- auto r = rDims.emplace(aUpperName, std::make_unique<DimensionNode>());
+ auto r = rDims.emplace(aUpperName, DimensionNode());
assert(r.second);
itDim = r.first;
}
@@ -118,8 +112,8 @@ void ScDPResultTree::add(
pDimName = &itDim->first;
// Now, see if this dimension member exists.
- DimensionNode* pDim = itDim->second.get();
- MembersType& rMembersValueNames = pDim->maChildMembersValueNames;
+ DimensionNode& rDim = itDim->second;
+ MembersType& rMembersValueNames = rDim.maChildMembersValueNames;
aUpperName = ScGlobal::getCharClassPtr()->uppercase(filter.maValueName);
MembersType::iterator itMem = rMembersValueNames.find(aUpperName);
if (itMem == rMembersValueNames.end())
@@ -139,7 +133,7 @@ void ScDPResultTree::add(
// makes no sense to add it to the separate mapping.
if (!filter.maValue.isEmpty() && filter.maValue != filter.maValueName)
{
- MembersType& rMembersValues = pDim->maChildMembersValues;
+ MembersType& rMembersValues = rDim.maChildMembersValues;
aUpperName = ScGlobal::getCharClassPtr()->uppercase(filter.maValue);
MembersType::iterator itMemVal = rMembersValues.find(aUpperName);
if (itMemVal == rMembersValues.end())
@@ -210,16 +204,16 @@ const ScDPResultTree::ValuesType* ScDPResultTree::getResults(
// Specified dimension not found.
return nullptr;
- const DimensionNode* pDim = itDim->second.get();
- MembersType::const_iterator itMem( pDim->maChildMembersValueNames.find(
+ const DimensionNode& rDim = itDim->second;
+ MembersType::const_iterator itMem( rDim.maChildMembersValueNames.find(
ScGlobal::getCharClassPtr()->uppercase( rFilter.MatchValueName)));
- if (itMem == pDim->maChildMembersValueNames.end())
+ if (itMem == rDim.maChildMembersValueNames.end())
{
// Specified member name not found, try locale independent value.
- itMem = pDim->maChildMembersValues.find( ScGlobal::getCharClassPtr()->uppercase( rFilter.MatchValue));
+ itMem = rDim.maChildMembersValues.find( ScGlobal::getCharClassPtr()->uppercase( rFilter.MatchValue));
- if (itMem == pDim->maChildMembersValues.end())
+ if (itMem == rDim.maChildMembersValues.end())
// Specified member not found.
return nullptr;
}
@@ -236,10 +230,10 @@ const ScDPResultTree::ValuesType* ScDPResultTree::getResults(
while (pFieldMember->maChildDimensions.size() == 1)
{
auto itDim( pFieldMember->maChildDimensions.begin());
- const DimensionNode* pDim = itDim->second.get();
- if (pDim->maChildMembersValueNames.size() != 1)
+ const DimensionNode& rDim = itDim->second;
+ if (rDim.maChildMembersValueNames.size() != 1)
break; // while
- pFieldMember = pDim->maChildMembersValueNames.begin()->second.get();
+ pFieldMember = rDim.maChildMembersValueNames.begin()->second.get();
if (!pFieldMember->maValues.empty())
return &pFieldMember->maValues;
}
More information about the Libreoffice-commits
mailing list