diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /intl/icu/source/i18n/ufieldpositer.cpp | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'intl/icu/source/i18n/ufieldpositer.cpp')
-rw-r--r-- | intl/icu/source/i18n/ufieldpositer.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
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 */ |