diff options
author | Kohei Yoshida <kyoshida@novell.com> | 2011-03-04 19:53:14 -0500 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2011-03-05 15:21:08 -0500 |
commit | e40df3cb083c365d542395b4b48f575ff287b277 (patch) | |
tree | 0e174628bfca07e73b60f5dc4f0bf55d4aabc4fc /sc | |
parent | 9b6c3f27f441099a4d07f8ecc3845e3fde46e992 (diff) |
Added begin(), end() and implemented FindIndex().
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/rangenam.hxx | 6 | ||||
-rw-r--r-- | sc/source/core/tool/rangenam.cxx | 24 |
2 files changed, 22 insertions, 8 deletions
diff --git a/sc/inc/rangenam.hxx b/sc/inc/rangenam.hxx index 40b0b82aa634..21150a237ea1 100644 --- a/sc/inc/rangenam.hxx +++ b/sc/inc/rangenam.hxx @@ -191,6 +191,8 @@ private: ScDocument* mpDoc; sal_uInt16 mnSharedMaxIndex; public: + typedef DataType::const_iterator const_iterator; + ScRangeName(ScDocument* pDoc = NULL); ScRangeName(const ScRangeName& r); @@ -209,12 +211,14 @@ public: SC_DLLPUBLIC ScRangeData* FindIndex(size_t i); sal_uInt16 GetSharedMaxIndex(); void SetSharedMaxIndex(sal_uInt16 nInd); + + const_iterator begin() const; + const_iterator end() const; SC_DLLPUBLIC size_t size() const; bool empty() const; SC_DLLPUBLIC bool Insert(ScRangeData* p); void erase(const ScRangeData& r); void clear(); - SC_DLLPUBLIC ScRangeData* At(size_t i); bool operator== (const ScRangeName& r) const; }; diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx index 900f328f7854..60661ca3fad6 100644 --- a/sc/source/core/tool/rangenam.cxx +++ b/sc/source/core/tool/rangenam.cxx @@ -769,7 +769,12 @@ void ScRangeName::UpdateGrow(const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY) ScRangeData* ScRangeName::FindIndex(size_t i) { - return NULL; + if (i >= maData.size()) + return NULL; + + DataType::iterator itr = maData.begin(); + ::std::advance(itr, i); + return &(*itr); } sal_uInt16 ScRangeName::GetSharedMaxIndex() @@ -782,6 +787,16 @@ void ScRangeName::SetSharedMaxIndex(sal_uInt16 nInd) mnSharedMaxIndex = nInd; } +ScRangeName::const_iterator ScRangeName::begin() const +{ + return maData.begin(); +} + +ScRangeName::const_iterator ScRangeName::end() const +{ + return maData.end(); +} + size_t ScRangeName::size() const { return maData.size(); @@ -811,14 +826,9 @@ void ScRangeName::clear() maData.clear(); } -ScRangeData* ScRangeName::At(size_t i) -{ - return NULL; -} - bool ScRangeName::operator== (const ScRangeName& r) const { - return true; + return maData == r.maData; } #else |