intl ICU C++ code modernisation, making it closer to C++11 (#8650)

This commit is contained in:
David CARLIER 2022-06-20 13:07:28 +01:00 committed by GitHub
parent 8c50b8d797
commit ec0331f499
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 31 deletions

View file

@ -35,51 +35,51 @@ namespace PHP {
CodePointBreakIterator& operator=(const CodePointBreakIterator& that);
virtual ~CodePointBreakIterator();
~CodePointBreakIterator() override;
#if U_ICU_VERSION_MAJOR_NUM >= 70
virtual bool operator==(const BreakIterator& that) const;
bool operator==(const BreakIterator& that) const override;
#else
virtual UBool operator==(const BreakIterator& that) const;
UBool operator==(const BreakIterator& that) const override;
#endif
virtual CodePointBreakIterator* clone(void) const;
CodePointBreakIterator* clone(void) const override;
virtual UClassID getDynamicClassID(void) const;
UClassID getDynamicClassID(void) const override;
virtual CharacterIterator& getText(void) const;
CharacterIterator& getText(void) const override;
virtual UText *getUText(UText *fillIn, UErrorCode &status) const;
UText *getUText(UText *fillIn, UErrorCode &status) const override;
virtual void setText(const UnicodeString &text);
void setText(const UnicodeString &text) override;
virtual void setText(UText *text, UErrorCode &status);
void setText(UText *text, UErrorCode &status) override;
virtual void adoptText(CharacterIterator* it);
void adoptText(CharacterIterator* it) override;
virtual int32_t first(void);
int32_t first(void) override;
virtual int32_t last(void);
int32_t last(void) override;
virtual int32_t previous(void);
int32_t previous(void) override;
virtual int32_t next(void);
int32_t next(void) override;
virtual int32_t current(void) const;
int32_t current(void) const override;
virtual int32_t following(int32_t offset);
int32_t following(int32_t offset) override;
virtual int32_t preceding(int32_t offset);
int32_t preceding(int32_t offset) override;
virtual UBool isBoundary(int32_t offset);
UBool isBoundary(int32_t offset) override;
virtual int32_t next(int32_t n);
int32_t next(int32_t n) override;
virtual CodePointBreakIterator *createBufferClone(void *stackBuffer,
CodePointBreakIterator *createBufferClone(void *stackBuffer,
int32_t &BufferSize,
UErrorCode &status);
UErrorCode &status) override;
virtual CodePointBreakIterator &refreshInputText(UText *input, UErrorCode &status);
CodePointBreakIterator &refreshInputText(UText *input, UErrorCode &status) override;
inline UChar32 getLastCodePoint()
{

View file

@ -13,6 +13,7 @@
*/
#include <unicode/rbbi.h>
#include <memory>
extern "C" {
#define USE_BREAKITERATOR_POINTER 1
@ -163,11 +164,10 @@ U_CFUNC PHP_METHOD(IntlRuleBasedBreakIterator, getRuleStatusVec)
ZEND_ASSERT(BREAKITER_ERROR_CODE(bio) == U_BUFFER_OVERFLOW_ERROR);
BREAKITER_ERROR_CODE(bio) = U_ZERO_ERROR;
int32_t *rules = new int32_t[num_rules];
num_rules = fetch_rbbi(bio)->getRuleStatusVec(rules, num_rules,
std::unique_ptr<int32_t[]> rules = std::unique_ptr<int32_t[]>(new int32_t[num_rules]);
num_rules = fetch_rbbi(bio)->getRuleStatusVec(rules.get(), num_rules,
BREAKITER_ERROR_CODE(bio));
if (U_FAILURE(BREAKITER_ERROR_CODE(bio))) {
delete[] rules;
intl_errors_set(BREAKITER_ERROR_P(bio), BREAKITER_ERROR_CODE(bio),
"rbbi_get_rule_status_vec: failed obtaining the status values",
0);
@ -178,7 +178,6 @@ U_CFUNC PHP_METHOD(IntlRuleBasedBreakIterator, getRuleStatusVec)
for (int32_t i = 0; i < num_rules; i++) {
add_next_index_long(return_value, rules[i]);
}
delete[] rules;
}
U_CFUNC PHP_METHOD(IntlRuleBasedBreakIterator, getBinaryRules)

View file

@ -115,11 +115,11 @@ public:
uenum_close(uenum);
}
int32_t count(UErrorCode& status) const {
int32_t count(UErrorCode& status) const override {
return uenum_count(uenum, &status);
}
virtual const UnicodeString* snext(UErrorCode& status)
const UnicodeString* snext(UErrorCode& status) override
{
int32_t length;
const UChar* str = uenum_unext(uenum, &length, &status);
@ -129,7 +129,7 @@ public:
return &unistr.setTo(str, length);
}
virtual const char* next(int32_t *resultLength, UErrorCode &status)
const char* next(int32_t *resultLength, UErrorCode &status) override
{
int32_t length = -1;
const char* str = uenum_next(uenum, &length, &status);
@ -144,12 +144,12 @@ public:
return str;
}
void reset(UErrorCode& status)
void reset(UErrorCode& status) override
{
uenum_reset(uenum, &status);
}
virtual UClassID getDynamicClassID() const;
UClassID getDynamicClassID() const override;
static UClassID U_EXPORT2 getStaticClassID();