summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2015-11-28 02:18:14 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2015-11-28 23:59:04 +0100
commitaf654610c93fc73b605d89c875d1b4e4d27f0b94 (patch)
tree8771eeaca5bc0270bb210fa02bc7d4d7d6a8ad77
parentuse constexprs and static_assert() (diff)
downloadcore-af654610c93fc73b605d89c875d1b4e4d27f0b94.tar.gz
core-af654610c93fc73b605d89c875d1b4e4d27f0b94.zip
use constexprs and static_assert()
Change-Id: Ie0ede65560b7d8f5e8b5f0085bc54485de4b37ef
-rw-r--r--sw/source/core/unocore/unostyle.cxx72
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: