diff --git a/src/string.cpp b/src/string.cpp --- a/src/string.cpp +++ b/src/string.cpp @@ -765,9 +765,9 @@ int strnatcmp(const char *s1, const char #ifdef WITH_UNISCRIBE -/* static */ StringIterator *StringIterator::Create() +/* static */ std::unique_ptr StringIterator::Create() { - return new UniscribeStringIterator(); + return std::make_unique(); } #elif defined(WITH_ICU_I18N) @@ -921,9 +921,9 @@ public: } }; -/* static */ StringIterator *StringIterator::Create() +/* static */ std::unique_ptr StringIterator::Create() { - return new IcuStringIterator(); + return std::make_unique(); } #else @@ -1032,17 +1032,17 @@ public: }; #if defined(WITH_COCOA) && !defined(STRGEN) && !defined(SETTINGSGEN) -/* static */ StringIterator *StringIterator::Create() +/* static */ std::unique_ptr StringIterator::Create() { - StringIterator *i = OSXStringIterator::Create(); + std::unique_ptr i = OSXStringIterator::Create(); if (i != nullptr) return i; - return new DefaultStringIterator(); + return std::make_unique(); } #else -/* static */ StringIterator *StringIterator::Create() +/* static */ std::unique_ptr StringIterator::Create() { - return new DefaultStringIterator(); + return std::make_unique(); } #endif /* defined(WITH_COCOA) && !defined(STRGEN) && !defined(SETTINGSGEN) */