diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2015-11-28 02:18:14 +0100 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2015-11-28 23:59:04 +0100 |
commit | af654610c93fc73b605d89c875d1b4e4d27f0b94 (patch) | |
tree | 8771eeaca5bc0270bb210fa02bc7d4d7d6a8ad77 | |
parent | use constexprs and static_assert() (diff) | |
download | core-af654610c93fc73b605d89c875d1b4e4d27f0b94.tar.gz core-af654610c93fc73b605d89c875d1b4e4d27f0b94.zip |
use constexprs and static_assert()
Change-Id: Ie0ede65560b7d8f5e8b5f0085bc54485de4b37ef
-rw-r--r-- | sw/source/core/unocore/unostyle.cxx | 72 |
1 files changed, 25 insertions, 47 deletions
diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx index 49b4267bfffb..462a52e12923 100644 --- a/sw/source/core/unocore/unostyle.cxx +++ b/sw/source/core/unocore/unostyle.cxx @@ -497,53 +497,31 @@ uno::Any SwXStyleFamily::getByIndex(sal_Int32 nIndex) break; case SFX_STYLE_FAMILY_PARA: { - if ( nIndex < ( RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( static_cast< sal_uInt16 >(RES_POOLCOLL_TEXT_BEGIN + nIndex), sStyleName ); - else if ( nIndex < ( RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN + - RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( RES_POOLCOLL_LISTS_BEGIN - - RES_POOLCOLL_TEXT_END + RES_POOLCOLL_TEXT_BEGIN - + nIndex, sStyleName ); - else if ( nIndex < ( RES_POOLCOLL_EXTRA_END - RES_POOLCOLL_EXTRA_BEGIN + - RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN + - RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( static_cast< sal_uInt16 >(RES_POOLCOLL_EXTRA_BEGIN - - RES_POOLCOLL_LISTS_END + RES_POOLCOLL_LISTS_BEGIN - - RES_POOLCOLL_TEXT_END + RES_POOLCOLL_TEXT_BEGIN - + nIndex), sStyleName ); - else if ( nIndex < ( RES_POOLCOLL_REGISTER_END - RES_POOLCOLL_REGISTER_BEGIN + - RES_POOLCOLL_EXTRA_END - RES_POOLCOLL_EXTRA_BEGIN + - RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN + - RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( static_cast< sal_uInt16 >(RES_POOLCOLL_REGISTER_BEGIN - - RES_POOLCOLL_EXTRA_END + RES_POOLCOLL_EXTRA_BEGIN - - RES_POOLCOLL_LISTS_END + RES_POOLCOLL_LISTS_BEGIN - - RES_POOLCOLL_TEXT_END + RES_POOLCOLL_TEXT_BEGIN - + nIndex), sStyleName ); - else if ( nIndex < ( RES_POOLCOLL_DOC_END - RES_POOLCOLL_DOC_BEGIN + - RES_POOLCOLL_REGISTER_END - RES_POOLCOLL_REGISTER_BEGIN + - RES_POOLCOLL_EXTRA_END - RES_POOLCOLL_EXTRA_BEGIN + - RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN + - RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( static_cast< sal_uInt16 >(RES_POOLCOLL_DOC_BEGIN - - RES_POOLCOLL_REGISTER_END + RES_POOLCOLL_REGISTER_BEGIN - - RES_POOLCOLL_EXTRA_END + RES_POOLCOLL_EXTRA_BEGIN - - RES_POOLCOLL_LISTS_END + RES_POOLCOLL_LISTS_BEGIN - - RES_POOLCOLL_TEXT_END + RES_POOLCOLL_TEXT_BEGIN - + nIndex), sStyleName ); - else if ( nIndex < ( RES_POOLCOLL_HTML_END - RES_POOLCOLL_HTML_BEGIN + - RES_POOLCOLL_DOC_END - RES_POOLCOLL_DOC_BEGIN + - RES_POOLCOLL_REGISTER_END - RES_POOLCOLL_REGISTER_BEGIN + - RES_POOLCOLL_EXTRA_END - RES_POOLCOLL_EXTRA_BEGIN + - RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN + - RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN ) ) - SwStyleNameMapper::FillUIName ( static_cast< sal_uInt16 >(RES_POOLCOLL_HTML_BEGIN - - RES_POOLCOLL_DOC_END + RES_POOLCOLL_DOC_BEGIN - - RES_POOLCOLL_REGISTER_END + RES_POOLCOLL_REGISTER_BEGIN - - RES_POOLCOLL_EXTRA_END + RES_POOLCOLL_EXTRA_BEGIN - - RES_POOLCOLL_LISTS_END + RES_POOLCOLL_LISTS_BEGIN - - RES_POOLCOLL_TEXT_END + RES_POOLCOLL_TEXT_BEGIN - + nIndex), sStyleName ); + constexpr sal_uInt16 nPoolCollTextRange = RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN; + constexpr sal_uInt16 nPoolCollListsRange = RES_POOLCOLL_LISTS_END - RES_POOLCOLL_LISTS_BEGIN; + constexpr sal_uInt16 nPoolCollExtraRange = RES_POOLCOLL_EXTRA_END - RES_POOLCOLL_EXTRA_BEGIN; + constexpr sal_uInt16 nPoolCollRegisterRange = RES_POOLCOLL_REGISTER_END - RES_POOLCOLL_REGISTER_BEGIN; + constexpr sal_uInt16 nPoolCollDocRange = RES_POOLCOLL_DOC_END - RES_POOLCOLL_DOC_BEGIN; + constexpr sal_uInt16 nPoolCollHtmlRange = RES_POOLCOLL_HTML_END - RES_POOLCOLL_HTML_BEGIN; + static_assert(nPoolCollTextRange > 0 && nPoolCollListsRange > 0 && nPoolCollExtraRange > 0 && nPoolCollRegisterRange > 0 && nPoolCollDocRange > 0 && nPoolCollHtmlRange > 0, "weird pool range"); + constexpr sal_uInt16 nPoolCollListsStackedStart = nPoolCollTextRange; + constexpr sal_uInt16 nPoolCollExtraStackedStart = nPoolCollListsStackedStart + nPoolCollListsRange; + constexpr sal_uInt16 nPoolCollRegisterStackedStart = nPoolCollExtraStackedStart + nPoolCollExtraRange; + constexpr sal_uInt16 nPoolCollDocStackedStart = nPoolCollRegisterStackedStart + nPoolCollRegisterRange; + constexpr sal_uInt16 nPoolCollHtmlStackedStart = nPoolCollDocStackedStart + nPoolCollDocRange; + const sal_uInt16 nIndex16 = static_cast<sal_uInt16>(nIndex); + if(nIndex16 < nPoolCollListsStackedStart) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_TEXT_BEGIN + nIndex16, sStyleName); + else if(nIndex16 < nPoolCollExtraStackedStart) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_LISTS_BEGIN + nPoolCollListsStackedStart + nIndex16, sStyleName); + else if(nIndex16 < nPoolCollRegisterStackedStart) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_EXTRA_BEGIN + nPoolCollExtraStackedStart + nIndex16, sStyleName); + else if(nIndex16 < nPoolCollDocStackedStart) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_REGISTER_BEGIN + nPoolCollRegisterStackedStart + nIndex16, sStyleName); + else if(nIndex16 < nPoolCollHtmlStackedStart) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_DOC_BEGIN + nPoolCollDocStackedStart + nIndex16, sStyleName); + else if(nIndex16 < nPoolCollHtmlStackedStart + nPoolCollTextRange) + SwStyleNameMapper::FillUIName(RES_POOLCOLL_HTML_BEGIN + nPoolCollHtmlStackedStart + nIndex16, sStyleName); } break; case SFX_STYLE_FAMILY_FRAME: |