diff options
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/editobj.cxx | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx index ad096dfa7f82..a0112468af5b 100644 --- a/editeng/source/editeng/editobj.cxx +++ b/editeng/source/editeng/editobj.cxx @@ -217,24 +217,16 @@ void ContentInfo::Dump() const } #endif -bool ContentInfo::Equals( const ContentInfo& rCompare, bool bComparePool ) const -{ - if( (maText == rCompare.maText) && - (aStyle == rCompare.aStyle ) && - (maCharAttribs.size() == rCompare.maCharAttribs.size()) && - (eFamily == rCompare.eFamily ) && - aParaAttribs.Equals( rCompare.aParaAttribs, bComparePool ) ) - { - for (size_t i = 0, n = maCharAttribs.size(); i < n; ++i) - { - if (!(*(maCharAttribs[i]) == *(rCompare.maCharAttribs[i]))) - return false; - } - - return true; - } - - return false; +bool ContentInfo::Equals(const ContentInfo& rCompare, bool bComparePool) const +{ + return maText == rCompare.maText && aStyle == rCompare.aStyle && eFamily == rCompare.eFamily + && aParaAttribs.Equals(rCompare.aParaAttribs, bComparePool) + && std::equal(maCharAttribs.cbegin(), maCharAttribs.cend(), + rCompare.maCharAttribs.cbegin(), rCompare.maCharAttribs.cend(), + [](const std::unique_ptr<XEditAttribute>& pAttribute1, + const std::unique_ptr<XEditAttribute>& pAttribute2) -> bool { + return *pAttribute1 == *pAttribute2; + }); } EditTextObject::EditTextObject( SfxItemPool* pPool ) : |