From c66568d6b0bbcce26cbdc5a4e5f6e4c0ae748e45 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 23 Aug 2017 08:49:02 +0200 Subject: loplugin:useuniqueptr, look for containers.. that can use std::unique_ptr, and apply it in i18npool Change-Id: Ib410abaf73d5f392c7a7a9a322872b08c948f9e9 Reviewed-on: https://gerrit.libreoffice.org/41438 Reviewed-by: Noel Grandin Tested-by: Noel Grandin --- .../source/breakiterator/breakiterator_unicode.cxx | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'i18npool/source/breakiterator') diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx index 2256755e85be..cf781eb414a0 100644 --- a/i18npool/source/breakiterator/breakiterator_unicode.cxx +++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx @@ -49,11 +49,6 @@ BreakIterator_Unicode::BreakIterator_Unicode() BreakIterator_Unicode::~BreakIterator_Unicode() { - delete character.aBreakIterator; - delete sentence.aBreakIterator; - delete line.aBreakIterator; - for (BI_Data & word : words) - delete word.aBreakIterator; } /* @@ -107,10 +102,7 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Local rLocale.Language != icuBI->maLocale.Language || rLocale.Country != icuBI->maLocale.Country || rLocale.Variant != icuBI->maLocale.Variant) { - if (icuBI->aBreakIterator) { - delete icuBI->aBreakIterator; - icuBI->aBreakIterator=nullptr; - } + icuBI->aBreakIterator.reset(); if (rule) { uno::Sequence< OUString > breakRules = LocaleDataImpl::get()->getBreakIteratorRules(rLocale); @@ -160,7 +152,7 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Local case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break; } #endif - icuBI->aBreakIterator = rbi; + icuBI->aBreakIterator.reset( rbi ); } } @@ -170,16 +162,16 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Local status = U_ZERO_ERROR; switch (rBreakType) { case LOAD_CHARACTER_BREAKITERATOR: - icuBI->aBreakIterator = icu::BreakIterator::createCharacterInstance(icuLocale, status); + icuBI->aBreakIterator.reset( icu::BreakIterator::createCharacterInstance(icuLocale, status) ); break; case LOAD_WORD_BREAKITERATOR: - icuBI->aBreakIterator = icu::BreakIterator::createWordInstance(icuLocale, status); + icuBI->aBreakIterator.reset( icu::BreakIterator::createWordInstance(icuLocale, status) ); break; case LOAD_SENTENCE_BREAKITERATOR: - icuBI->aBreakIterator = icu::BreakIterator::createSentenceInstance(icuLocale, status); + icuBI->aBreakIterator.reset( icu::BreakIterator::createSentenceInstance(icuLocale, status) ); break; case LOAD_LINE_BREAKITERATOR: - icuBI->aBreakIterator = icu::BreakIterator::createLineInstance(icuLocale, status); + icuBI->aBreakIterator.reset( icu::BreakIterator::createLineInstance(icuLocale, status) ); break; } if ( !U_SUCCESS(status) ) { -- cgit