summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-03-09 21:29:31 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-03-09 21:29:31 -0500
commitbdd349501eb3df24830d2daf2338a7a422a8e00c (patch)
treeaab4327bd1e672b5da86bb2b33ee7538430917f5
parent372cfda4d6a4d49bb45cea0dc45b23ffd9dd5b3d (diff)
Keep vector as vector.
-rw-r--r--sc/inc/dpgroup.hxx2
-rw-r--r--sc/source/core/data/dpgroup.cxx27
-rw-r--r--sc/source/core/data/dptabres.cxx4
3 files changed, 17 insertions, 16 deletions
diff --git a/sc/inc/dpgroup.hxx b/sc/inc/dpgroup.hxx
index be7d39cd784a..b81db64d26d5 100644
--- a/sc/inc/dpgroup.hxx
+++ b/sc/inc/dpgroup.hxx
@@ -163,7 +163,7 @@ class ScDPGroupTableData : public ScDPTableData
ScDocument* pDoc;
StringHashSet aGroupNames;
- void FillGroupValues( SCROW* pItemDataIndex, long nCount, const long* pDims );
+ void FillGroupValues(std::vector<SCROW>& rItems, const std::vector<long>& rDims);
virtual long GetSourceDim( long nDim );
bool IsNumGroupDimension( long nDimension ) const;
diff --git a/sc/source/core/data/dpgroup.cxx b/sc/source/core/data/dpgroup.cxx
index 73a9d108799a..bcd7032f82a8 100644
--- a/sc/source/core/data/dpgroup.cxx
+++ b/sc/source/core/data/dpgroup.cxx
@@ -788,11 +788,11 @@ void ScDPGroupTableData::CalcResults(CalcInfo& rInfo, bool bAutoShow)
FillRowDataFromCacheTable(nRow, rCacheTable, rInfo, aData);
if ( !rInfo.aColLevelDims.empty() )
- FillGroupValues(&aData.aColData[0], rInfo.aColLevelDims.size(), &rInfo.aColLevelDims[0]);
+ FillGroupValues(aData.aColData, rInfo.aColLevelDims);
if ( !rInfo.aRowLevelDims.empty() )
- FillGroupValues(&aData.aRowData[0], rInfo.aRowLevelDims.size(), &rInfo.aRowLevelDims[0]);
+ FillGroupValues(aData.aRowData, rInfo.aRowLevelDims);
if ( !rInfo.aPageDims.empty() )
- FillGroupValues(&aData.aPageData[0], rInfo.aPageDims.size(), &rInfo.aPageDims[0]);
+ FillGroupValues(aData.aPageData, rInfo.aPageDims);
ProcessRowData(rInfo, aData, bAutoShow);
}
@@ -803,16 +803,17 @@ const ScDPCacheTable& ScDPGroupTableData::GetCacheTable() const
return pSourceData->GetCacheTable();
}
-void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, const long* pDims)
+void ScDPGroupTableData::FillGroupValues(vector<SCROW>& rItems, const vector<long>& rDims)
{
long nGroupedColumns = aGroups.size();
const ScDPCache* pCache = GetCacheTable().getCache();
- for (long nDim = 0; nDim < nCount; ++nDim)
+ vector<long>::const_iterator it = rDims.begin(), itEnd = rDims.end();
+ for (size_t i = 0; it != itEnd; ++it, ++i)
{
+ long nColumn = *it;
const ScDPDateGroupHelper* pDateHelper = NULL;
- long nColumn = pDims[nDim];
long nSourceDim = nColumn;
if ( nColumn >= nSourceCount && nColumn < nSourceCount + nGroupedColumns )
{
@@ -821,15 +822,15 @@ void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, con
pDateHelper = rGroupDim.GetDateHelper();
if (!pDateHelper) // date is handled below
{
- const ScDPItemData& rItem = *GetMemberById(nSourceDim, pItemDataIndex[nDim]);
+ const ScDPItemData& rItem = *GetMemberById(nSourceDim, rItems[i]);
const ScDPGroupItem* pGroupItem = rGroupDim.GetGroupForData(rItem);
if (pGroupItem)
{
- pItemDataIndex[nDim] =
+ rItems[i] =
pCache->GetIdByItemData(nColumn, pGroupItem->GetName());
}
else
- pItemDataIndex[nDim] = pCache->GetIdByItemData(nColumn, rItem);
+ rItems[i] = pCache->GetIdByItemData(nColumn, rItem);
}
}
else if ( IsNumGroupDimension( nColumn ) )
@@ -837,7 +838,7 @@ void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, con
pDateHelper = pNumGroups[nColumn].GetDateHelper();
if (!pDateHelper) // date is handled below
{
- const ScDPItemData* pData = pCache->GetItemDataById(nSourceDim, pItemDataIndex[nDim]);
+ const ScDPItemData* pData = pCache->GetItemDataById(nSourceDim, rItems[i]);
if (pData->GetType() == ScDPItemData::Value)
{
ScDPNumGroupInfo aNumInfo;
@@ -845,7 +846,7 @@ void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, con
double fGroupValue = ScDPUtil::getNumGroupStartValue(pData->GetValue(), aNumInfo);
ScDPItemData aItemData;
aItemData.SetRangeStart(fGroupValue);
- pItemDataIndex[nDim] = pCache->GetIdByItemData(nSourceDim, aItemData);
+ rItems[i] = pCache->GetIdByItemData(nSourceDim, aItemData);
}
// else (textual) keep original value
}
@@ -854,7 +855,7 @@ void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, con
if ( pDateHelper )
{
const ScDPItemData* pData =
- GetCacheTable().getCache()->GetItemDataById(nSourceDim, pItemDataIndex[nDim]);
+ GetCacheTable().getCache()->GetItemDataById(nSourceDim, rItems[i]);
if (pData->GetType() == ScDPItemData::Value)
{
SvNumberFormatter* pFormatter = pDoc->GetFormatTable();
@@ -865,7 +866,7 @@ void ScDPGroupTableData::FillGroupValues(SCROW* pItemDataIndex, long nCount, con
pDateHelper->GetDatePart(), nPartValue, pFormatter, rNumInfo.mfStart, rNumInfo.mfEnd);
ScDPItemData aItem(pDateHelper->GetDatePart(), nPartValue);
- pItemDataIndex[nDim] = GetCacheTable().getCache()->GetIdByItemData(nColumn, aItem);
+ rItems[i] = GetCacheTable().getCache()->GetIdByItemData(nColumn, aItem);
}
}
}
diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx
index a14c53a0365f..3372d683f5d7 100644
--- a/sc/source/core/data/dptabres.cxx
+++ b/sc/source/core/data/dptabres.cxx
@@ -3012,10 +3012,10 @@ void ScDPResultDimension::ProcessData( const vector< SCROW >& aMembers,
ScDPResultMember* pMember = FindMember( aMembers[0] );
if ( NULL != pMember )
{
- vector</*ScDPItemData*/SCROW > aChildMembers;
+ vector<SCROW> aChildMembers;
if (aMembers.size() > 1)
{
- vector</*ScDPItemData*/SCROW >::const_iterator itr = aMembers.begin();
+ vector<SCROW>::const_iterator itr = aMembers.begin();
aChildMembers.insert(aChildMembers.begin(), ++itr, aMembers.end());
}
pMember->ProcessData( aChildMembers, pDataDim, aDataMembers, aValues );