diff --git a/icu4c/source/common/symtable.h b/icu4c/source/common/symtable.h index 0a11c1180ff..76db95e24a7 100644 --- a/icu4c/source/common/symtable.h +++ b/icu4c/source/common/symtable.h @@ -42,7 +42,7 @@ public: /** * Destructor. */ - virtual inline ~SymbolTable() {}; + virtual ~SymbolTable(); /** * Lookup the characters associated with this string and return it. diff --git a/icu4c/source/common/unicode/strenum.h b/icu4c/source/common/unicode/strenum.h index e060b451a0b..248b4a186e2 100644 --- a/icu4c/source/common/unicode/strenum.h +++ b/icu4c/source/common/unicode/strenum.h @@ -46,118 +46,115 @@ class UnicodeString; * @draft ICU 2.4 */ class U_COMMON_API StringEnumeration : public UObject { - public: - /** - * Destructor. - * @draft ICU 2.4 - */ - virtual ~StringEnumeration(); +public: + /** + * Destructor. + * @draft ICU 2.4 + */ + virtual ~StringEnumeration(); - /** - *
Return the number of elements that the iterator traverses. If - * the iterator is out of sync with its service, status is set to - * U_ENUM_OUT_OF_SYNC_ERROR, and the return value is zero.
- * - *The return value will not change except possibly as a result of - * a subsequent call to reset, or if the iterator becomes out of sync.
- * - *This is a convenience function. It can end up being very - * expensive as all the items might have to be pre-fetched - * (depending on the storage format of the data being - * traversed).
- * - * @param status the error code. - * @return number of elements in the iterator. - * - * @draft ICU 2.4 */ - virtual int32_t count(UErrorCode& status) const = 0; + /** + *Return the number of elements that the iterator traverses. If + * the iterator is out of sync with its service, status is set to + * U_ENUM_OUT_OF_SYNC_ERROR, and the return value is zero.
+ * + *The return value will not change except possibly as a result of + * a subsequent call to reset, or if the iterator becomes out of sync.
+ * + *This is a convenience function. It can end up being very + * expensive as all the items might have to be pre-fetched + * (depending on the storage format of the data being + * traversed).
+ * + * @param status the error code. + * @return number of elements in the iterator. + * + * @draft ICU 2.4 */ + virtual int32_t count(UErrorCode& status) const = 0; - /** - *Returns the next element as a NUL-terminated char*. If there - * are no more elements, returns NULL. If the resultLength pointer - * is not NULL, the length of the string (not counting the - * terminating NUL) is returned at that address. If an error - * status is returned, the value at resultLength is undefined.
- * - *The returned pointer is owned by this iterator and must not be - * deleted by the caller. The pointer is valid until the next call - * to next, unext, snext, reset, or the enumerator's destructor.
- * - *If the iterator is out of sync with its service, status is set - * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
- * - *If the native service string is a UChar* string, it is - * converted to char* with the invariant converter. If the - * conversion fails (because a character cannot be converted) then - * status is set to U_INVARIANT_CONVERSION_ERROR and the return - * value is undefined (though not NULL).
- * - * @param status the error code. - * @param resultLength a pointer to receive the length, can be NULL. - * @return a pointer to the string, or NULL. - * - * @draft ICU 2.4 - */ - virtual const char* next(int32_t *resultLength, UErrorCode& status) = 0; + /** + *Returns the next element as a NUL-terminated char*. If there + * are no more elements, returns NULL. If the resultLength pointer + * is not NULL, the length of the string (not counting the + * terminating NUL) is returned at that address. If an error + * status is returned, the value at resultLength is undefined.
+ * + *The returned pointer is owned by this iterator and must not be + * deleted by the caller. The pointer is valid until the next call + * to next, unext, snext, reset, or the enumerator's destructor.
+ * + *If the iterator is out of sync with its service, status is set + * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
+ * + *If the native service string is a UChar* string, it is + * converted to char* with the invariant converter. If the + * conversion fails (because a character cannot be converted) then + * status is set to U_INVARIANT_CONVERSION_ERROR and the return + * value is undefined (though not NULL).
+ * + * @param status the error code. + * @param resultLength a pointer to receive the length, can be NULL. + * @return a pointer to the string, or NULL. + * + * @draft ICU 2.4 + */ + virtual const char* next(int32_t *resultLength, UErrorCode& status) = 0; - /** - *Returns the next element as a NUL-terminated UChar*. If there - * are no more elements, returns NULL. If the resultLength pointer - * is not NULL, the length of the string (not counting the - * terminating NUL) is returned at that address. If an error - * status is returned, the value at resultLength is undefined.
- * - *The returned pointer is owned by this iterator and must not be - * deleted by the caller. The pointer is valid until the next call - * to next, unext, snext, reset, or the enumerator's destructor.
- * - *If the iterator is out of sync with its service, status is set - * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
- * - * @param status the error code. - * @param resultLength a ponter to receive the length, can be NULL. - * @return a pointer to the string, or NULL. - * - * @draft ICU 2.4 - */ - virtual const UChar* unext(int32_t *resultLength, UErrorCode& status) = 0; + /** + *Returns the next element as a NUL-terminated UChar*. If there + * are no more elements, returns NULL. If the resultLength pointer + * is not NULL, the length of the string (not counting the + * terminating NUL) is returned at that address. If an error + * status is returned, the value at resultLength is undefined.
+ * + *The returned pointer is owned by this iterator and must not be + * deleted by the caller. The pointer is valid until the next call + * to next, unext, snext, reset, or the enumerator's destructor.
+ * + *If the iterator is out of sync with its service, status is set + * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
+ * + * @param status the error code. + * @param resultLength a ponter to receive the length, can be NULL. + * @return a pointer to the string, or NULL. + * + * @draft ICU 2.4 + */ + virtual const UChar* unext(int32_t *resultLength, UErrorCode& status) = 0; - /** - *Returns the next element a UnicodeString*. If there are no - * more elements, returns NULL.
- * - *The returned pointer is owned by this iterator and must not be - * deleted by the caller. The pointer is valid until the next call - * to next, unext, snext, reset, or the enumerator's destructor.
- * - *If the iterator is out of sync with its service, status is set - * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
- * - * @param status the error code. - * @return a pointer to the string, or NULL. - * - * @draft ICU 2.4 - */ - virtual const UnicodeString* snext(UErrorCode& status) = 0; + /** + *Returns the next element a UnicodeString*. If there are no + * more elements, returns NULL.
+ * + *The returned pointer is owned by this iterator and must not be + * deleted by the caller. The pointer is valid until the next call + * to next, unext, snext, reset, or the enumerator's destructor.
+ * + *If the iterator is out of sync with its service, status is set + * to U_ENUM_OUT_OF_SYNC_ERROR and NULL is returned.
+ * + * @param status the error code. + * @return a pointer to the string, or NULL. + * + * @draft ICU 2.4 + */ + virtual const UnicodeString* snext(UErrorCode& status) = 0; - /** - *Resets the iterator. This re-establishes sync with the - * service and rewinds the iterator to start at the first - * element.
- * - *Previous pointers returned by next, unext, or snext become - * invalid, and the value returned by count might change.
- * - * @param status the error code. - * - * @draft ICU 2.4 - */ - virtual void reset(UErrorCode& status) = 0; + /** + *Resets the iterator. This re-establishes sync with the + * service and rewinds the iterator to start at the first + * element.
+ * + *Previous pointers returned by next, unext, or snext become + * invalid, and the value returned by count might change.
+ * + * @param status the error code. + * + * @draft ICU 2.4 + */ + virtual void reset(UErrorCode& status) = 0; }; -inline StringEnumeration::~StringEnumeration() { -} - U_NAMESPACE_END /* STRENUM_H */ diff --git a/icu4c/source/common/uniset.cpp b/icu4c/source/common/uniset.cpp index b7841ab40bd..be10d07ccba 100644 --- a/icu4c/source/common/uniset.cpp +++ b/icu4c/source/common/uniset.cpp @@ -143,6 +143,7 @@ U_NAMESPACE_BEGIN UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ParsePosition) ParsePosition::~ParsePosition() {} +SymbolTable::~SymbolTable() {} /** * Minimum value that can be stored in a UnicodeSet. diff --git a/icu4c/source/common/ustrenum.cpp b/icu4c/source/common/ustrenum.cpp index 2fe2ef1aa5d..08a0e661d40 100644 --- a/icu4c/source/common/ustrenum.cpp +++ b/icu4c/source/common/ustrenum.cpp @@ -17,6 +17,8 @@ #define THIS(en) ((StringEnumeration*)(en->context)) +StringEnumeration::~StringEnumeration() {} + U_CDECL_BEGIN /**