diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-10-08 15:18:16 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-10-08 15:48:12 -0400 |
commit | 3786609a153b7fa38393eb646557d241af2d3060 (patch) | |
tree | d2d33086cf318229a7893dc0958630834fc1ec16 /editeng | |
parent | a7ff6e0a3fc5fccad33f06ae9d4ec7019f9ae156 (diff) |
No more getIdentifier*() calls because they are not efficient.
They shall never be used.
Change-Id: I019c88b1511a67175d782777cd41e0ec0434f497
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/editobj.cxx | 55 | ||||
-rw-r--r-- | editeng/source/editeng/editobj2.hxx | 6 |
2 files changed, 11 insertions, 50 deletions
diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx index 0ad6d2865d48..06cbbe274f7f 100644 --- a/editeng/source/editeng/editobj.cxx +++ b/editeng/source/editeng/editobj.cxx @@ -154,16 +154,9 @@ void ContentInfo::NormalizeString( svl::SharedStringPool& rPool ) maText = rPool.intern(OUString(maText.getData())); } -sal_uIntPtr ContentInfo::GetStringID( const svl::SharedStringPool& rPool ) const +const svl::SharedString& ContentInfo::GetSharedString() const { - rtl_uString* p = const_cast<rtl_uString*>(maText.getData()); - return rPool.getIdentifier(OUString(p)); -} - -sal_uIntPtr ContentInfo::GetStringIDIgnoreCase( const svl::SharedStringPool& rPool ) const -{ - rtl_uString* p = const_cast<rtl_uString*>(maText.getData()); - return rPool.getIdentifierIgnoreCase(OUString(p)); + return maText; } OUString ContentInfo::GetText() const @@ -350,14 +343,9 @@ void EditTextObject::NormalizeString( svl::SharedStringPool& rPool ) mpImpl->NormalizeString(rPool); } -bool EditTextObject::GetStringIDs( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const -{ - return mpImpl->GetStringIDs(rPool, rIDs); -} - -bool EditTextObject::GetStringIDsIgnoreCase( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const +std::vector<svl::SharedString> EditTextObject::GetSharedStrings() const { - return mpImpl->GetStringIDsIgnoreCase(rPool, rIDs); + return mpImpl->GetSharedStrings(); } const SfxItemPool* EditTextObject::GetPool() const @@ -656,42 +644,17 @@ void EditTextObjectImpl::NormalizeString( svl::SharedStringPool& rPool ) } } -bool EditTextObjectImpl::GetStringIDs( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const -{ - std::vector<sal_uIntPtr> aIDs; - aIDs.reserve(aContents.size()); - ContentInfosType::const_iterator it = aContents.begin(), itEnd = aContents.end(); - for (; it != itEnd; ++it) - { - const ContentInfo& rInfo = *it; - sal_uIntPtr nID = rInfo.GetStringID(rPool); - if (!nID) - return false; - - aIDs.push_back(nID); - } - - rIDs.swap(aIDs); - return true; -} - -bool EditTextObjectImpl::GetStringIDsIgnoreCase( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const +std::vector<svl::SharedString> EditTextObjectImpl::GetSharedStrings() const { - std::vector<sal_uIntPtr> aIDs; - aIDs.reserve(aContents.size()); + std::vector<svl::SharedString> aSSs; + aSSs.reserve(aContents.size()); ContentInfosType::const_iterator it = aContents.begin(), itEnd = aContents.end(); for (; it != itEnd; ++it) { const ContentInfo& rInfo = *it; - sal_uIntPtr nID = rInfo.GetStringIDIgnoreCase(rPool); - if (!nID) - return false; - - aIDs.push_back(nID); + aSSs.push_back(rInfo.GetSharedString()); } - - rIDs.swap(aIDs); - return true; + return aSSs; } bool EditTextObjectImpl::IsVertical() const diff --git a/editeng/source/editeng/editobj2.hxx b/editeng/source/editeng/editobj2.hxx index d2ac04546222..5c1c2a23fcb1 100644 --- a/editeng/source/editeng/editobj2.hxx +++ b/editeng/source/editeng/editobj2.hxx @@ -144,8 +144,7 @@ public: ~ContentInfo(); void NormalizeString( svl::SharedStringPool& rPool ); - sal_uIntPtr GetStringID( const svl::SharedStringPool& rPool ) const; - sal_uIntPtr GetStringIDIgnoreCase( const svl::SharedStringPool& rPool ) const; + const svl::SharedString& GetSharedString() const; OUString GetText() const; void SetText( const OUString& rStr ); @@ -210,8 +209,7 @@ public: void SetUserType( sal_uInt16 n ); void NormalizeString( svl::SharedStringPool& rPool ); - bool GetStringIDs( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const; - bool GetStringIDsIgnoreCase( const svl::SharedStringPool& rPool, std::vector<sal_uIntPtr>& rIDs ) const; + std::vector<svl::SharedString> GetSharedStrings() const; bool IsVertical() const; void SetVertical( bool b ); |