include/svl/nranges.hxx | 34 +++++++++++++++++++++++++++------- svl/Library_svl.mk | 1 + svl/source/items/itemset.cxx | 4 ++-- svl/source/items/nranges.cxx | 5 +++-- 4 files changed, 33 insertions(+), 11 deletions(-)
New commits: commit 20f2a6b3f719e83a0bef77c214c622026dbe5aca Author: Jochen Nitschke <j.nitschke+loger...@ok.de> Date: Tue Oct 25 23:31:31 2016 +0200 untangle .cxx include in itemset.cxx Change-Id: I0102ad82d82c8f0e9f8939512bae83424613c54e Reviewed-on: https://gerrit.libreoffice.org/30281 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/svl/nranges.hxx b/include/svl/nranges.hxx index 373086b..d374475 100644 --- a/include/svl/nranges.hxx +++ b/include/svl/nranges.hxx @@ -16,16 +16,12 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef MACOSX -// We need an empty block in here. Otherwise, if the #ifndef INCLUDED_SVL_NRANGES_HXX -// line is the first line, the Mac OS X version of the gcc preprocessor will -// incorrectly optimize the inclusion process and will never include this file -// a second time -#endif - #ifndef INCLUDED_SVL_NRANGES_HXX #define INCLUDED_SVL_NRANGES_HXX +#include <cstdarg> +#include <sal/types.h> + class SfxUShortRanges { sal_uInt16* _pRanges; // 0-terminated array of sal_uInt16-pairs @@ -48,6 +44,30 @@ public: { return _pRanges; } }; +/** + * Creates a sal_uInt16-ranges-array in 'rpRanges' using 'nWh1' and 'nWh2' as + * first range, 'nNull' as terminator or start of 2nd range and 'pArgs' as + * remainder. + * + * It returns the number of sal_uInt16s which are contained in the described + * set of sal_uInt16s. + */ +sal_uInt16 InitializeRanges_Impl( sal_uInt16 *&rpRanges, va_list pArgs, + sal_uInt16 nWh1, sal_uInt16 nWh2, sal_uInt16 nNull ); + +/** + * Determines the number of sal_uInt16s in a 0-terminated array of pairs of + * sal_uInt16s. + * The terminating 0 is not included in the count. + */ +sal_uInt16 Count_Impl( const sal_uInt16 *pRanges ); + +/** + * Determines the total number of sal_uInt16s described in a 0-terminated + * array of pairs of sal_uInt16s, each representing an range of sal_uInt16s. + */ +sal_uInt16 Capacity_Impl( const sal_uInt16 *pRanges ); + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svl/Library_svl.mk b/svl/Library_svl.mk index 8e7b9a2..dc4e70a 100644 --- a/svl/Library_svl.mk +++ b/svl/Library_svl.mk @@ -91,6 +91,7 @@ $(eval $(call gb_Library_add_exception_objects,svl,\ svl/source/items/itemset \ svl/source/items/lckbitem \ svl/source/items/macitem \ + svl/source/items/nranges \ svl/source/items/poolcach \ svl/source/items/poolio \ svl/source/items/poolitem \ diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx index f8e953a..c104305 100644 --- a/svl/source/items/itemset.cxx +++ b/svl/source/items/itemset.cxx @@ -36,10 +36,10 @@ #include <tools/solar.h> #include <rtl/string.hxx> -static const sal_uInt16 nInitCount = 10; // Single USHORTs => 5 pairs without '0' -#include "nranges.cxx" #include "poolio.hxx" +static const sal_uInt16 nInitCount = 10; // Single USHORTs => 5 pairs without '0' + /** * Ctor for a SfxItemSet with exactly the Which Ranges, which are known to * the supplied SfxItemPool. diff --git a/svl/source/items/nranges.cxx b/svl/source/items/nranges.cxx index b445cb7..85ed671 100644 --- a/svl/source/items/nranges.cxx +++ b/svl/source/items/nranges.cxx @@ -16,13 +16,14 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <svl/nranges.hxx> #include <cassert> +#include <cstring> #include <vector> -// compiled via include from itemset.cxx only! -#include <memory> #include <osl/diagnose.h> +#include <tools/debug.hxx> #ifdef DBG_UTIL _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits