diff options
Diffstat (limited to 'sc/source/filter/ftools/sharedformulagroups.cxx')
-rw-r--r-- | sc/source/filter/ftools/sharedformulagroups.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sc/source/filter/ftools/sharedformulagroups.cxx b/sc/source/filter/ftools/sharedformulagroups.cxx index 1da53771d16f..47ac4475fbd1 100644 --- a/sc/source/filter/ftools/sharedformulagroups.cxx +++ b/sc/source/filter/ftools/sharedformulagroups.cxx @@ -14,13 +14,25 @@ namespace sc { void SharedFormulaGroups::set( size_t nSharedId, ScTokenArray* pArray ) { - m_Store.insert(std::make_pair(nSharedId, std::unique_ptr<ScTokenArray>(pArray))); + m_Store.emplace(nSharedId, + SharedFormulaGroupEntry(pArray, ScAddress(ScAddress::INITIALIZE_INVALID))); +} + +void SharedFormulaGroups::set( size_t nSharedId, ScTokenArray* pArray, const ScAddress& rOrigin ) +{ + m_Store.emplace(nSharedId, SharedFormulaGroupEntry(pArray, rOrigin)); } const ScTokenArray* SharedFormulaGroups::get( size_t nSharedId ) const { StoreType::const_iterator const it = m_Store.find(nSharedId); - return it == m_Store.end() ? nullptr : it->second.get(); + return it == m_Store.end() ? nullptr : it->second.getTokenArray(); +} + +const SharedFormulaGroupEntry* SharedFormulaGroups::getEntry( size_t nSharedId ) const +{ + StoreType::const_iterator const it = m_Store.find(nSharedId); + return it == m_Store.end() ? nullptr : &(it->second); } } |