From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- intl/icu/source/i18n/ufieldpositer.cpp | 61 ++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 intl/icu/source/i18n/ufieldpositer.cpp (limited to 'intl/icu/source/i18n/ufieldpositer.cpp') diff --git a/intl/icu/source/i18n/ufieldpositer.cpp b/intl/icu/source/i18n/ufieldpositer.cpp new file mode 100644 index 0000000000..f28e1aa20e --- /dev/null +++ b/intl/icu/source/i18n/ufieldpositer.cpp @@ -0,0 +1,61 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +***************************************************************************************** +* Copyright (C) 2015, International Business Machines +* Corporation and others. All Rights Reserved. +***************************************************************************************** +*/ + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING + +#include "unicode/ufieldpositer.h" +#include "unicode/fpositer.h" +#include "unicode/localpointer.h" + +U_NAMESPACE_USE + + +U_CAPI UFieldPositionIterator* U_EXPORT2 +ufieldpositer_open(UErrorCode* status) +{ + if (U_FAILURE(*status)) { + return nullptr; + } + FieldPositionIterator* fpositer = new FieldPositionIterator(); + if (fpositer == nullptr) { + *status = U_MEMORY_ALLOCATION_ERROR; + } + return (UFieldPositionIterator*)fpositer; +} + + +U_CAPI void U_EXPORT2 +ufieldpositer_close(UFieldPositionIterator *fpositer) +{ + delete (FieldPositionIterator*)fpositer; +} + + +U_CAPI int32_t U_EXPORT2 +ufieldpositer_next(UFieldPositionIterator *fpositer, + int32_t *beginIndex, int32_t *endIndex) +{ + FieldPosition fp; + int32_t field = -1; + if (((FieldPositionIterator*)fpositer)->next(fp)) { + field = fp.getField(); + if (beginIndex) { + *beginIndex = fp.getBeginIndex(); + } + if (endIndex) { + *endIndex = fp.getEndIndex(); + } + } + return field; +} + + +#endif /* #if !UCONFIG_NO_FORMATTING */ -- cgit v1.2.3