U_IN_DOXYGEN=1 \
U_CHAR16_IS_TYPEDEF=0 \
U_CPLUSPLUS_VERSION=11 \
- U_WCHAR_IS_UTF16 \
- U_FINAL=final
+ U_WCHAR_IS_UTF16
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
* @author C++ port by V. Weinstein
* @stable ICU 2.4
*/
-class U_COMMON_API CanonicalIterator U_FINAL : public UObject {
+class U_COMMON_API CanonicalIterator final : public UObject {
public:
/**
* Construct a CanonicalIterator object
*
* @stable ICU 59
*/
-class U_COMMON_API CaseMap U_FINAL : public UMemory {
+class U_COMMON_API CaseMap final : public UMemory {
public:
/**
* Lowercases a UTF-16 string and optionally records edits.
* char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
* @stable ICU 59
*/
-class U_COMMON_API Char16Ptr U_FINAL {
+class U_COMMON_API Char16Ptr final {
public:
/**
* Copies the pointer.
* const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
* @stable ICU 59
*/
-class U_COMMON_API ConstChar16Ptr U_FINAL {
+class U_COMMON_API ConstChar16Ptr final {
public:
/**
* Copies the pointer.
*
* @stable ICU 59
*/
-class U_COMMON_API Edits U_FINAL : public UMemory {
+class U_COMMON_API Edits final : public UMemory {
public:
/**
* Constructs an empty object.
* @see getFineIterator
* @stable ICU 59
*/
- struct U_COMMON_API Iterator U_FINAL : public UMemory {
+ struct U_COMMON_API Iterator final : public UMemory {
/**
* Default constructor, empty iterator.
* @stable ICU 60
*
* <p>This class is not intended to be subclassed.</p>
*/
-class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator {
+class U_COMMON_API RuleBasedBreakIterator /*final*/ : public BreakIterator {
private:
/**
* @see UMessagePatternApostropheMode
* @stable ICU 57
*/
-class U_COMMON_API SimpleFormatter U_FINAL : public UMemory {
+class U_COMMON_API SimpleFormatter final : public UMemory {
public:
/**
* Default constructor.
/** Obsolete/same as U_CAPI; was used to declare a function as an internal ICU C API */
#define U_INTERNAL U_CAPI
-/**
- * \def U_FINAL
- * Defined to the C++11 "final" keyword if available.
- * Denotes a class or member which may not be overridden in subclasses.
- * May result in an error if subclasses attempt to override.
- * @internal
- */
-#if !defined(U_FINAL) || defined(U_IN_DOXYGEN)
-#define U_FINAL final
-#endif
-
// Before ICU 65, function-like, multi-statement ICU macros were just defined as
// series of statements wrapped in { } blocks and the caller could choose to
// either treat them as if they were actual functions and end the invocation
* @author Alan Liu
* @stable ICU 2.0
*/
-class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter {
+class U_COMMON_API UnicodeSet final : public UnicodeFilter {
private:
/**
* Enough for sets with few ranges.
* @author M. Davis
* @stable ICU 2.4
*/
-class U_COMMON_API UnicodeSetIterator U_FINAL : public UObject {
+class U_COMMON_API UnicodeSetIterator final : public UObject {
/**
* Value of <tt>codepoint</tt> if the iterator points to a string.
* If <tt>codepoint == IS_STRING</tt>, then examine
* @see RuleBasedCollator
* @version 1.8 Jan 16 2001
*/
-class U_I18N_API CollationElementIterator U_FINAL : public UObject {
+class U_I18N_API CollationElementIterator final : public UObject {
public:
// CollationElementIterator public data member ------------------------------
* locale at least contains any resources that are to be particularized for the
* calendar type.
*/
-class U_I18N_API DateFormatSymbols U_FINAL : public UObject {
+class U_I18N_API DateFormatSymbols final : public UObject {
public:
/**
* Construct a DateFormatSymbols object by loading format data from
* calendar; non-Gregorian calendars are supported from ICU 4.4.1.
* @stable ICU 4.0
**/
-class U_I18N_API DateIntervalInfo U_FINAL : public UObject {
+class U_I18N_API DateIntervalInfo final : public UObject {
public:
/**
* Default constructor.
*
* @stable ICU 2.4
*/
-class U_I18N_API RegexPattern U_FINAL : public UObject {
+class U_I18N_API RegexPattern final : public UObject {
public:
/**
*
* @stable ICU 2.4
*/
-class U_I18N_API RegexMatcher U_FINAL : public UObject {
+class U_I18N_API RegexMatcher final : public UObject {
public:
/**
* @since ICU 2.0
*/
-class U_I18N_API StringSearch U_FINAL : public SearchIterator
+class U_I18N_API StringSearch final : public SearchIterator
{
public:
* Note, RuleBasedCollator is not to be subclassed.
* @see Collator
*/
-class U_I18N_API RuleBasedCollator U_FINAL : public Collator {
+class U_I18N_API RuleBasedCollator final : public Collator {
public:
/**
* RuleBasedCollator constructor. This takes the table rules and builds a