Coverage Report

Created: 2026-05-06 06:16

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/icu/icu4c/source/common/unicode/localpointer.h
Line
Count
Source
1
// © 2016 and later: Unicode, Inc. and others.
2
// License & terms of use: http://www.unicode.org/copyright.html
3
/*
4
*******************************************************************************
5
*
6
*   Copyright (C) 2009-2016, International Business Machines
7
*   Corporation and others.  All Rights Reserved.
8
*
9
*******************************************************************************
10
*   file name:  localpointer.h
11
*   encoding:   UTF-8
12
*   tab size:   8 (not used)
13
*   indentation:4
14
*
15
*   created on: 2009nov13
16
*   created by: Markus W. Scherer
17
*/
18
19
#ifndef __LOCALPOINTER_H__
20
#define __LOCALPOINTER_H__
21
22
/**
23
 * \file
24
 * \brief C++ API: "Smart pointers" for use with and in ICU4C C++ code.
25
 *
26
 * These classes are inspired by
27
 * - std::auto_ptr
28
 * - boost::scoped_ptr & boost::scoped_array
29
 * - Taligent Safe Pointers (TOnlyPointerTo)
30
 *
31
 * but none of those provide for all of the goals for ICU smart pointers:
32
 * - Smart pointer owns the object and releases it when it goes out of scope.
33
 * - No transfer of ownership via copy/assignment to reduce misuse. Simpler & more robust.
34
 * - ICU-compatible: No exceptions.
35
 * - Need to be able to orphan/release the pointer and its ownership.
36
 * - Need variants for normal C++ object pointers, C++ arrays, and ICU C service objects.
37
 *
38
 * For details see https://icu.unicode.org/design/cpp/scoped_ptr
39
 */
40
41
#include "unicode/utypes.h"
42
43
#if U_SHOW_CPLUSPLUS_API
44
45
#include <memory>
46
47
U_NAMESPACE_BEGIN
48
49
/**
50
 * "Smart pointer" base class; do not use directly: use LocalPointer etc.
51
 *
52
 * Base class for smart pointer classes that do not throw exceptions.
53
 *
54
 * Do not use this base class directly, since it does not delete its pointer.
55
 * A subclass must implement methods that delete the pointer:
56
 * Destructor and adoptInstead().
57
 *
58
 * There is no operator T *() provided because the programmer must decide
59
 * whether to use getAlias() (without transfer of ownership) or orphan()
60
 * (with transfer of ownership and NULLing of the pointer).
61
 *
62
 * @see LocalPointer
63
 * @see LocalArray
64
 * @see U_DEFINE_LOCAL_OPEN_POINTER
65
 * @stable ICU 4.4
66
 */
67
template<typename T>
68
class LocalPointerBase {
69
public:
70
    // No heap allocation. Use only on the stack.
71
    static void* U_EXPORT2 operator new(size_t) = delete;
72
    static void* U_EXPORT2 operator new[](size_t) = delete;
73
    static void* U_EXPORT2 operator new(size_t, void*) = delete;
74
75
    /**
76
     * Constructor takes ownership.
77
     * @param p simple pointer to an object that is adopted
78
     * @stable ICU 4.4
79
     */
80
51.1M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::NumberingSystem>::LocalPointerBase(icu_79::NumberingSystem*)
Line
Count
Source
80
1.28M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<UResourceBundle>::LocalPointerBase(UResourceBundle*)
Line
Count
Source
80
9.89M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UVector>::LocalPointerBase(icu_79::UVector*)
Line
Count
Source
80
505k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UnicodeString>::LocalPointerBase(icu_79::UnicodeString*)
Line
Count
Source
80
6.44M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::StringEnumeration>::LocalPointerBase(icu_79::StringEnumeration*)
Line
Count
Source
80
85.6k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UnicodeSet>::LocalPointerBase(icu_79::UnicodeSet*)
Line
Count
Source
80
607k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UCharsTrie>::LocalPointerBase(icu_79::UCharsTrie*)
Line
Count
Source
80
772
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::BreakIterator>::LocalPointerBase(icu_79::BreakIterator*)
Line
Count
Source
80
7.48k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<UText>::LocalPointerBase(UText*)
Line
Count
Source
80
193
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UCharsTrieBuilder>::LocalPointerBase(icu_79::UCharsTrieBuilder*)
Line
Count
Source
80
396
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<int>::LocalPointerBase(int*)
Line
Count
Source
80
23.8k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::FilteredBreakIteratorBuilder>::LocalPointerBase(icu_79::FilteredBreakIteratorBuilder*)
Line
Count
Source
80
226
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: locavailable.cpp:icu_79::LocalPointerBase<(anonymous namespace)::AvailableLocalesStringEnumeration>::LocalPointerBase((anonymous namespace)::AvailableLocalesStringEnumeration*)
icu_79::LocalPointerBase<char const*>::LocalPointerBase(char const**)
Line
Count
Source
80
75
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::CharString>::LocalPointerBase(icu_79::CharString*)
Line
Count
Source
80
534
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<UHashtable>::LocalPointerBase(UHashtable*)
Line
Count
Source
80
539
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::ICULanguageBreakFactory>::LocalPointerBase(icu_79::ICULanguageBreakFactory*)
Line
Count
Source
80
3
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::DictionaryCache>::LocalPointerBase(icu_79::RuleBasedBreakIterator::DictionaryCache*)
Line
Count
Source
80
32.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::BreakCache>::LocalPointerBase(icu_79::RuleBasedBreakIterator::BreakCache*)
Line
Count
Source
80
32.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ExternalBreakEngine>::LocalPointerBase(icu_79::ExternalBreakEngine*)
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::LocalPointerBase(icu_79::RBBIDataHeader*)
Line
Count
Source
80
2.49k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UObject>::LocalPointerBase(icu_79::UObject*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ICUServiceFactory>::LocalPointerBase(icu_79::ICUServiceFactory*)
icu_79::LocalPointerBase<UKeywordsContext>::LocalPointerBase(UKeywordsContext*)
Line
Count
Source
80
4.48k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<UEnumeration>::LocalPointerBase(UEnumeration*)
Line
Count
Source
80
8.30k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::VariantListEntry>::LocalPointerBase((anonymous namespace)::VariantListEntry*)
Line
Count
Source
80
72.6k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::LocalPointerBase((anonymous namespace)::ExtensionListEntry*)
Line
Count
Source
80
293k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::LocalPointerBase((anonymous namespace)::ULanguageTag*)
Line
Count
Source
80
587k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
umutablecptrie.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::MutableCodePointTrie>::LocalPointerBase(icu_79::(anonymous namespace)::MutableCodePointTrie*)
Line
Count
Source
80
2.52k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UStack>::LocalPointerBase(icu_79::UStack*)
Line
Count
Source
80
3
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakEngineWrapper>::LocalPointerBase(icu_79::BreakEngineWrapper*)
icu_79::LocalPointerBase<UMutableCPTrie>::LocalPointerBase(UMutableCPTrie*)
Line
Count
Source
80
27
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UVector32>::LocalPointerBase(icu_79::UVector32*)
Line
Count
Source
80
6.14M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Norm2AllModes>::LocalPointerBase(icu_79::Norm2AllModes*)
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::LocalPointerBase(icu_79::RelativeDateTimeCacheData*)
Line
Count
Source
80
1.22k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::FormattedRelativeDateTimeData>::LocalPointerBase(icu_79::FormattedRelativeDateTimeData*)
Line
Count
Source
80
8.90M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::NumberFormat>::LocalPointerBase(icu_79::NumberFormat*)
Line
Count
Source
80
49.3k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::RelativeDateTimeFormatter>::LocalPointerBase(icu_79::RelativeDateTimeFormatter*)
icu_79::LocalPointerBase<icu_79::Calendar>::LocalPointerBase(icu_79::Calendar*)
Line
Count
Source
80
20.9k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::TimeZone>::LocalPointerBase(icu_79::TimeZone*)
Line
Count
Source
80
182k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::ChineseCalendar>::LocalPointerBase(icu_79::ChineseCalendar*)
Line
Count
Source
80
3.56k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::InitialTimeZoneRule>::LocalPointerBase(icu_79::InitialTimeZoneRule*)
Line
Count
Source
80
1
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::TimeZoneRule>::LocalPointerBase(icu_79::TimeZoneRule*)
Line
Count
Source
80
6
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::RuleBasedTimeZone>::LocalPointerBase(icu_79::RuleBasedTimeZone*)
Line
Count
Source
80
1
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::EraRules>::LocalPointerBase(icu_79::EraRules*)
Line
Count
Source
80
11.3k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyAmount>::LocalPointerBase(icu_79::CurrencyAmount*)
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols>::LocalPointerBase(icu_79::DecimalFormatSymbols*)
Line
Count
Source
80
325k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DecimalFormat>::LocalPointerBase(icu_79::DecimalFormat*)
Line
Count
Source
80
230k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::PluralRules>::LocalPointerBase(icu_79::PluralRules*)
Line
Count
Source
80
565k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::SharedPluralRules>::LocalPointerBase(icu_79::SharedPluralRules*)
Line
Count
Source
80
6.29k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalQuantity>::LocalPointerBase(icu_79::number::impl::DecimalQuantity*)
icu_79::LocalPointerBase<icu_79::NFRule>::LocalPointerBase(icu_79::NFRule*)
Line
Count
Source
80
2.77M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<bool>::LocalPointerBase(bool*)
Line
Count
Source
80
1
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::Transition>::LocalPointerBase(icu_79::Transition*)
Line
Count
Source
80
3
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::CollationTailoring>::LocalPointerBase(icu_79::CollationTailoring*)
Line
Count
Source
80
14.6k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneFormat>::LocalPointerBase(icu_79::TimeZoneFormat*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames>::LocalPointerBase(icu_79::TimeZoneNames*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames::MatchInfoCollection>::LocalPointerBase(icu_79::TimeZoneNames::MatchInfoCollection*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZoneIdMatchHandler>::LocalPointerBase(icu_79::ZoneIdMatchHandler*)
icu_79::LocalPointerBase<icu_79::TimeZoneGenericNames>::LocalPointerBase(icu_79::TimeZoneGenericNames*)
Line
Count
Source
80
1.29k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::MatchInfo>::LocalPointerBase(icu_79::MatchInfo*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZNameInfo>::LocalPointerBase(icu_79::ZNameInfo*)
icu_79::LocalPointerBase<icu_79::MetaZoneIDsEnumeration>::LocalPointerBase(icu_79::MetaZoneIDsEnumeration*)
Line
Count
Source
80
63.2k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::LocalPointerBase(icu_79::AnnualTimeZoneRule*)
icu_79::LocalPointerBase<char16_t>::LocalPointerBase(char16_t*)
Line
Count
Source
80
382
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::OlsonToMetaMappingEntry>::LocalPointerBase(icu_79::OlsonToMetaMappingEntry*)
Line
Count
Source
80
1.04k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneRule const*>::LocalPointerBase(icu_79::TimeZoneRule const**)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeArrayTimeZoneRule>::LocalPointerBase(icu_79::TimeArrayTimeZoneRule*)
Unexecuted instantiation: icu_79::LocalPointerBase<double>::LocalPointerBase(double*)
icu_79::LocalPointerBase<icu_79::CollationDataBuilder>::LocalPointerBase(icu_79::CollationDataBuilder*)
Line
Count
Source
80
3.67k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::ConditionalCE32>::LocalPointerBase(icu_79::ConditionalCE32*)
Line
Count
Source
80
601k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::LocalPointerBase(icu_79::CurrencyPluralInfo*)
Line
Count
Source
80
960k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::LocalPointerBase(icu_79::DecimalFormatSymbols const*)
Line
Count
Source
80
788k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::MeasureUnit>::LocalPointerBase(icu_79::MeasureUnit*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CollationElementIterator>::LocalPointerBase(icu_79::CollationElementIterator*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::UnlocalizedNumberFormatter>::LocalPointerBase(icu_79::number::UnlocalizedNumberFormatter*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::LocalizedNumberFormatter>::LocalPointerBase(icu_79::number::LocalizedNumberFormatter*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalFormatWarehouse>::LocalPointerBase(icu_79::number::impl::DecimalFormatWarehouse*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ListFormatter>::LocalPointerBase(icu_79::ListFormatter*)
icu_79::LocalPointerBase<icu_79::number::impl::UsagePrefsHandler const>::LocalPointerBase(icu_79::number::impl::UsagePrefsHandler const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::UnitConversionHandler const>::LocalPointerBase(icu_79::number::impl::UnitConversionHandler const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::PluralRules const>::LocalPointerBase(icu_79::PluralRules const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::ParsedPatternInfo const>::LocalPointerBase(icu_79::number::impl::ParsedPatternInfo const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::ScientificHandler const>::LocalPointerBase(icu_79::number::impl::ScientificHandler const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::MutablePatternModifier>::LocalPointerBase(icu_79::number::impl::MutablePatternModifier*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::ImmutablePatternModifier>::LocalPointerBase(icu_79::number::impl::ImmutablePatternModifier*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::LongNameHandler>::LocalPointerBase(icu_79::number::impl::LongNameHandler*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::MixedUnitLongNameHandler>::LocalPointerBase(icu_79::number::impl::MixedUnitLongNameHandler*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer const>::LocalPointerBase(icu_79::number::impl::LongNameMultiplexer const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::CompactHandler const>::LocalPointerBase(icu_79::number::impl::CompactHandler const*)
Line
Count
Source
80
11.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::NumberingSystem const>::LocalPointerBase(icu_79::NumberingSystem const*)
Line
Count
Source
80
11.4k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer>::LocalPointerBase(icu_79::number::impl::LongNameMultiplexer*)
icu_79::LocalPointerBase<icu_79::number::impl::DecNum>::LocalPointerBase(icu_79::number::impl::DecNum*)
Line
Count
Source
80
1.54k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::number::impl::AdoptingModifierStore>::LocalPointerBase(icu_79::number::impl::AdoptingModifierStore*)
Line
Count
Source
80
565
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::units::ComplexUnitsConverter>::LocalPointerBase(icu_79::units::ComplexUnitsConverter*)
icu_79::LocalPointerBase<icu_79::UnicodeSet const>::LocalPointerBase(icu_79::UnicodeSet const*)
Line
Count
Source
80
1.21M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::UnicodeString const>::LocalPointerBase(icu_79::UnicodeString const*)
Line
Count
Source
80
404k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::numparse::impl::NumberParserImpl>::LocalPointerBase(icu_79::numparse::impl::NumberParserImpl*)
Line
Count
Source
80
101k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::StandardPluralRanges>::LocalPointerBase(icu_79::StandardPluralRanges*)
Line
Count
Source
80
73.9k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<unsigned char>::LocalPointerBase(unsigned char*)
icu_79::LocalPointerBase<icu_79::Hashtable>::LocalPointerBase(icu_79::Hashtable*)
Line
Count
Source
80
29.7k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
listformatter.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::PatternHandler>::LocalPointerBase(icu_79::(anonymous namespace)::PatternHandler*)
Line
Count
Source
80
620
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::FormattedListData>::LocalPointerBase(icu_79::FormattedListData*)
Line
Count
Source
80
24.1k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator>::LocalPointerBase(icu_79::RuleBasedBreakIterator*)
Line
Count
Source
80
7.68k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::Collator>::LocalPointerBase(icu_79::Collator*)
Line
Count
Source
80
7.78k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DateTimePatternGenerator>::LocalPointerBase(icu_79::DateTimePatternGenerator*)
Line
Count
Source
80
55.1k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DateFmtBestPattern>::LocalPointerBase(icu_79::DateFmtBestPattern*)
Line
Count
Source
80
12.7k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DateFormat>::LocalPointerBase(icu_79::DateFormat*)
Line
Count
Source
80
63.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::PtnElem>::LocalPointerBase(icu_79::PtnElem*)
Line
Count
Source
80
4.25M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::DateTimeMatcher>::LocalPointerBase(icu_79::DateTimeMatcher*)
Line
Count
Source
80
50.6k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::PtnSkeleton>::LocalPointerBase(icu_79::PtnSkeleton*)
Line
Count
Source
80
2.12M
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::Region>::LocalPointerBase(icu_79::Region*)
Line
Count
Source
80
784
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::SimpleDateFormat::NSOverride>::LocalPointerBase(icu_79::SimpleDateFormat::NSOverride*)
Line
Count
Source
80
1.57k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Format>::LocalPointerBase(icu_79::Format*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Formattable>::LocalPointerBase(icu_79::Formattable*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LocalizedNumberFormatterAsFormat>::LocalPointerBase(icu_79::number::impl::LocalizedNumberFormatterAsFormat*)
icu_79::LocalPointerBase<icu_79::RuleBasedCollator>::LocalPointerBase(icu_79::RuleBasedCollator*)
Line
Count
Source
80
7.22k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StaticErrors>::LocalPointerBase(icu_79::message2::StaticErrors*)
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StandardFunctions::Number>::LocalPointerBase(icu_79::message2::StandardFunctions::Number*)
icu_79::LocalPointerBase<icu_79::message2::data_model::Option>::LocalPointerBase(icu_79::message2::data_model::Option*)
Line
Count
Source
80
954k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::message2::data_model::Key>::LocalPointerBase(icu_79::message2::data_model::Key*)
Line
Count
Source
80
1.71k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
icu_79::LocalPointerBase<icu_79::message2::data_model::PatternPart>::LocalPointerBase(icu_79::message2::data_model::PatternPart*)
Line
Count
Source
80
86.1k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::data_model::Variant>::LocalPointerBase(icu_79::message2::data_model::Variant*)
icu_79::LocalPointerBase<icu_79::message2::data_model::Binding>::LocalPointerBase(icu_79::message2::data_model::Binding*)
Line
Count
Source
80
21.5k
    explicit LocalPointerBase(T *p=nullptr) : ptr(p) {}
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Environment>::LocalPointerBase(icu_79::message2::Environment*)
81
    /**
82
     * Destructor deletes the object it owns.
83
     * Subclass must override: Base class does nothing.
84
     * @stable ICU 4.4
85
     */
86
51.1M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::NumberingSystem>::~LocalPointerBase()
Line
Count
Source
86
1.28M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<UResourceBundle>::~LocalPointerBase()
Line
Count
Source
86
9.89M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UVector>::~LocalPointerBase()
Line
Count
Source
86
505k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UnicodeString>::~LocalPointerBase()
Line
Count
Source
86
6.44M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::StringEnumeration>::~LocalPointerBase()
Line
Count
Source
86
85.6k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UnicodeSet>::~LocalPointerBase()
Line
Count
Source
86
607k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UCharsTrie>::~LocalPointerBase()
Line
Count
Source
86
772
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::BreakIterator>::~LocalPointerBase()
Line
Count
Source
86
7.48k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<UText>::~LocalPointerBase()
Line
Count
Source
86
193
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UCharsTrieBuilder>::~LocalPointerBase()
Line
Count
Source
86
396
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<int>::~LocalPointerBase()
Line
Count
Source
86
23.8k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::FilteredBreakIteratorBuilder>::~LocalPointerBase()
Line
Count
Source
86
226
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: locavailable.cpp:icu_79::LocalPointerBase<(anonymous namespace)::AvailableLocalesStringEnumeration>::~LocalPointerBase()
icu_79::LocalPointerBase<char const*>::~LocalPointerBase()
Line
Count
Source
86
75
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::CharString>::~LocalPointerBase()
Line
Count
Source
86
534
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<UHashtable>::~LocalPointerBase()
Line
Count
Source
86
21
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::ICULanguageBreakFactory>::~LocalPointerBase()
Line
Count
Source
86
3
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::DictionaryCache>::~LocalPointerBase()
Line
Count
Source
86
32.5k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::BreakCache>::~LocalPointerBase()
Line
Count
Source
86
32.5k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ExternalBreakEngine>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::~LocalPointerBase()
Line
Count
Source
86
2.49k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UObject>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ICUServiceFactory>::~LocalPointerBase()
icu_79::LocalPointerBase<UKeywordsContext>::~LocalPointerBase()
Line
Count
Source
86
4.48k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<UEnumeration>::~LocalPointerBase()
Line
Count
Source
86
8.30k
    ~LocalPointerBase() { /* delete ptr; */ }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::VariantListEntry>::~LocalPointerBase()
Line
Count
Source
86
72.6k
    ~LocalPointerBase() { /* delete ptr; */ }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::~LocalPointerBase()
Line
Count
Source
86
293k
    ~LocalPointerBase() { /* delete ptr; */ }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::~LocalPointerBase()
Line
Count
Source
86
587k
    ~LocalPointerBase() { /* delete ptr; */ }
umutablecptrie.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::MutableCodePointTrie>::~LocalPointerBase()
Line
Count
Source
86
2.52k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UStack>::~LocalPointerBase()
Line
Count
Source
86
3
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakEngineWrapper>::~LocalPointerBase()
icu_79::LocalPointerBase<UMutableCPTrie>::~LocalPointerBase()
Line
Count
Source
86
27
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UVector32>::~LocalPointerBase()
Line
Count
Source
86
6.14M
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Norm2AllModes>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::~LocalPointerBase()
Line
Count
Source
86
1.22k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::FormattedRelativeDateTimeData>::~LocalPointerBase()
Line
Count
Source
86
8.90M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::NumberFormat>::~LocalPointerBase()
Line
Count
Source
86
49.3k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::RelativeDateTimeFormatter>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::Calendar>::~LocalPointerBase()
Line
Count
Source
86
20.9k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::TimeZone>::~LocalPointerBase()
Line
Count
Source
86
182k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::ChineseCalendar>::~LocalPointerBase()
Line
Count
Source
86
3.56k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::InitialTimeZoneRule>::~LocalPointerBase()
Line
Count
Source
86
1
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::TimeZoneRule>::~LocalPointerBase()
Line
Count
Source
86
6
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::RuleBasedTimeZone>::~LocalPointerBase()
Line
Count
Source
86
1
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::EraRules>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyAmount>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols>::~LocalPointerBase()
Line
Count
Source
86
325k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DecimalFormat>::~LocalPointerBase()
Line
Count
Source
86
230k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::PluralRules>::~LocalPointerBase()
Line
Count
Source
86
564k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::StandardPluralRanges>::~LocalPointerBase()
Line
Count
Source
86
73.9k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::SharedPluralRules>::~LocalPointerBase()
Line
Count
Source
86
6.29k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalQuantity>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::NFRule>::~LocalPointerBase()
Line
Count
Source
86
2.77M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<bool>::~LocalPointerBase()
Line
Count
Source
86
1
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::Transition>::~LocalPointerBase()
Line
Count
Source
86
3
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::CollationTailoring>::~LocalPointerBase()
Line
Count
Source
86
14.6k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneFormat>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames::MatchInfoCollection>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZoneIdMatchHandler>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::TimeZoneGenericNames>::~LocalPointerBase()
Line
Count
Source
86
1.29k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::MatchInfo>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZNameInfo>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::MetaZoneIDsEnumeration>::~LocalPointerBase()
Line
Count
Source
86
63.2k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::~LocalPointerBase()
icu_79::LocalPointerBase<char16_t>::~LocalPointerBase()
Line
Count
Source
86
382
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::OlsonToMetaMappingEntry>::~LocalPointerBase()
Line
Count
Source
86
1.04k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneRule const*>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeArrayTimeZoneRule>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<double>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::CollationDataBuilder>::~LocalPointerBase()
Line
Count
Source
86
3.67k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::ConditionalCE32>::~LocalPointerBase()
Line
Count
Source
86
601k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::~LocalPointerBase()
Line
Count
Source
86
958k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::~LocalPointerBase()
Line
Count
Source
86
786k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CollationElementIterator>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::number::impl::CompactHandler const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::MixedUnitLongNameHandler>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::LongNameHandler>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::ImmutablePatternModifier>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::MutablePatternModifier>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::ScientificHandler const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::ParsedPatternInfo const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::PluralRules const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::UnitConversionHandler const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::UsagePrefsHandler const>::~LocalPointerBase()
Line
Count
Source
86
11.3k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalFormatWarehouse>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::NumberingSystem const>::~LocalPointerBase()
Line
Count
Source
86
11.4k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ListFormatter>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::MeasureUnit>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::number::impl::DecNum>::~LocalPointerBase()
Line
Count
Source
86
1.54k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::number::impl::AdoptingModifierStore>::~LocalPointerBase()
Line
Count
Source
86
355
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::units::ComplexUnitsConverter>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::UnicodeString const>::~LocalPointerBase()
Line
Count
Source
86
404k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::UnicodeSet const>::~LocalPointerBase()
Line
Count
Source
86
1.21M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::numparse::impl::NumberParserImpl>::~LocalPointerBase()
Line
Count
Source
86
101k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<unsigned char>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::Hashtable>::~LocalPointerBase()
Line
Count
Source
86
29.7k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: listformatter.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::PatternHandler>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::FormattedListData>::~LocalPointerBase()
Line
Count
Source
86
24.1k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator>::~LocalPointerBase()
Line
Count
Source
86
7.68k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::Collator>::~LocalPointerBase()
Line
Count
Source
86
7.78k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DateFmtBestPattern>::~LocalPointerBase()
Line
Count
Source
86
12.7k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DateTimePatternGenerator>::~LocalPointerBase()
Line
Count
Source
86
55.1k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DateFormat>::~LocalPointerBase()
Line
Count
Source
86
63.5k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::PtnElem>::~LocalPointerBase()
Line
Count
Source
86
4.25M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::DateTimeMatcher>::~LocalPointerBase()
Line
Count
Source
86
50.6k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::PtnSkeleton>::~LocalPointerBase()
Line
Count
Source
86
2.12M
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::Region>::~LocalPointerBase()
Line
Count
Source
86
784
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::SimpleDateFormat::NSOverride>::~LocalPointerBase()
Line
Count
Source
86
1.57k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Format>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Formattable>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LocalizedNumberFormatterAsFormat>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::RuleBasedCollator>::~LocalPointerBase()
Line
Count
Source
86
7.22k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StaticErrors>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StandardFunctions::Number>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::message2::data_model::Key>::~LocalPointerBase()
Line
Count
Source
86
1.71k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::message2::data_model::Option>::~LocalPointerBase()
Line
Count
Source
86
954k
    ~LocalPointerBase() { /* delete ptr; */ }
icu_79::LocalPointerBase<icu_79::message2::data_model::PatternPart>::~LocalPointerBase()
Line
Count
Source
86
86.1k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::data_model::Variant>::~LocalPointerBase()
icu_79::LocalPointerBase<icu_79::message2::data_model::Binding>::~LocalPointerBase()
Line
Count
Source
86
21.5k
    ~LocalPointerBase() { /* delete ptr; */ }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Environment>::~LocalPointerBase()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Formattable>::~LocalPointerBase()
87
    /**
88
     * nullptr check.
89
     * @return true if ==nullptr
90
     * @stable ICU 4.4
91
     */
92
18.4M
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::CharString>::isNull() const
Line
Count
Source
92
301
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::StringEnumeration>::isNull() const
Line
Count
Source
92
8.66k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::isNull() const
Line
Count
Source
92
2.49k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::UVector>::isNull() const
Line
Count
Source
92
293k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<UKeywordsContext>::isNull() const
Line
Count
Source
92
4.48k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<UEnumeration>::isNull() const
Line
Count
Source
92
4.48k
    UBool isNull() const { return ptr==nullptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::isNull() const
Line
Count
Source
92
293k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::UnicodeString>::isNull() const
Line
Count
Source
92
5.47M
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::UnicodeSet>::isNull() const
Line
Count
Source
92
333
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::isNull() const
Line
Count
Source
92
1.22k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::NumberFormat>::isNull() const
Line
Count
Source
92
2.28k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::BreakIterator>::isNull() const
Line
Count
Source
92
2.28k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::isNull() const
Line
Count
Source
92
2.18M
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::TimeZone>::isNull() const
Line
Count
Source
92
20.6k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<UResourceBundle>::isNull() const
Line
Count
Source
92
57.6k
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<int>::isNull() const
Line
Count
Source
92
11.3k
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalQuantity>::isNull() const
icu_79::LocalPointerBase<icu_79::CollationTailoring>::isNull() const
Line
Count
Source
92
7.40k
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames::MatchInfoCollection>::isNull() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZNameInfo>::isNull() const
icu_79::LocalPointerBase<char16_t>::isNull() const
Line
Count
Source
92
382
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::isNull() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneRule const*>::isNull() const
Unexecuted instantiation: icu_79::LocalPointerBase<bool>::isNull() const
Unexecuted instantiation: icu_79::LocalPointerBase<double>::isNull() const
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::isNull() const
Line
Count
Source
92
1.86M
    UBool isNull() const { return ptr==nullptr; }
icu_79::LocalPointerBase<icu_79::NFRule>::isNull() const
Line
Count
Source
92
3.34M
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CollationElementIterator>::isNull() const
icu_79::LocalPointerBase<icu_79::PluralRules const>::isNull() const
Line
Count
Source
92
4.89k
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<unsigned char>::isNull() const
icu_79::LocalPointerBase<icu_79::UnicodeString const>::isNull() const
Line
Count
Source
92
4.84M
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Calendar>::isNull() const
icu_79::LocalPointerBase<icu_79::SimpleDateFormat::NSOverride>::isNull() const
Line
Count
Source
92
1.57k
    UBool isNull() const { return ptr==nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::DecimalFormat>::isNull() const
93
    /**
94
     * nullptr check.
95
     * @return true if !=nullptr
96
     * @stable ICU 4.4
97
     */
98
195M
    UBool isValid() const { return ptr!=nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UCharsTrie>::isValid() const
icu_79::LocalPointerBase<UResourceBundle>::isValid() const
Line
Count
Source
98
75.8k
    UBool isValid() const { return ptr!=nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UObject>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UVector>::isValid() const
icu_79::LocalPointerBase<UEnumeration>::isValid() const
Line
Count
Source
98
2.85k
    UBool isValid() const { return ptr!=nullptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::isValid() const
Line
Count
Source
98
357k
    UBool isValid() const { return ptr!=nullptr; }
icu_79::LocalPointerBase<icu_79::UnicodeString>::isValid() const
Line
Count
Source
98
168k
    UBool isValid() const { return ptr!=nullptr; }
icu_79::LocalPointerBase<icu_79::UVector32>::isValid() const
Line
Count
Source
98
194M
    UBool isValid() const { return ptr!=nullptr; }
icu_79::LocalPointerBase<icu_79::DecimalFormat>::isValid() const
Line
Count
Source
98
230k
    UBool isValid() const { return ptr!=nullptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakIterator>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::StringEnumeration>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Format>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Formattable>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StandardFunctions::Number>::isValid() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::DateFormat>::isValid() const
99
    /**
100
     * Comparison with a simple pointer, so that existing code
101
     * with ==nullptr need not be changed.
102
     * @param other simple pointer for comparison
103
     * @return true if this pointer value equals other
104
     * @stable ICU 4.4
105
     */
106
1
    bool operator==(const T *other) const { return ptr==other; }
icu_79::LocalPointerBase<bool>::operator==(bool const*) const
Line
Count
Source
106
1
    bool operator==(const T *other) const { return ptr==other; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UVector>::operator==(icu_79::UVector const*) const
107
    /**
108
     * Comparison with a simple pointer, so that existing code
109
     * with !=nullptr need not be changed.
110
     * @param other simple pointer for comparison
111
     * @return true if this pointer value differs from other
112
     * @stable ICU 4.4
113
     */
114
14.6M
    bool operator!=(const T *other) const { return ptr!=other; }
icu_79::LocalPointerBase<icu_79::PtnElem>::operator!=(icu_79::PtnElem const*) const
Line
Count
Source
114
14.6M
    bool operator!=(const T *other) const { return ptr!=other; }
Unexecuted instantiation: icu_79::LocalPointerBase<UResourceBundle>::operator!=(UResourceBundle const*) const
115
    /**
116
     * Access without ownership change.
117
     * @return the pointer value
118
     * @stable ICU 4.4
119
     */
120
68.8M
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<UResourceBundle>::getAlias() const
Line
Count
Source
120
23.1M
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UnicodeSet>::getAlias() const
Line
Count
Source
120
281
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<UText>::getAlias() const
icu_79::LocalPointerBase<UHashtable>::getAlias() const
Line
Count
Source
120
5.88M
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UVector>::getAlias() const
Line
Count
Source
120
63.4k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::getAlias() const
Line
Count
Source
120
14.9k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UObject>::getAlias() const
icu_79::LocalPointerBase<UEnumeration>::getAlias() const
Line
Count
Source
120
13.4k
    T *getAlias() const { return ptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::getAlias() const
Line
Count
Source
120
71.9k
    T *getAlias() const { return ptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::getAlias() const
Line
Count
Source
120
2.73M
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakEngineWrapper>::getAlias() const
icu_79::LocalPointerBase<UMutableCPTrie>::getAlias() const
Line
Count
Source
120
22.8k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Norm2AllModes>::getAlias() const
icu_79::LocalPointerBase<icu_79::StringEnumeration>::getAlias() const
Line
Count
Source
120
5.27k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::NumberFormat>::getAlias() const
icu_79::LocalPointerBase<icu_79::BreakIterator>::getAlias() const
Line
Count
Source
120
195
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UnicodeString>::getAlias() const
Line
Count
Source
120
255k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::NumberingSystem>::getAlias() const
Line
Count
Source
120
381k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols>::getAlias() const
Line
Count
Source
120
55.9k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PluralRules>::getAlias() const
Line
Count
Source
120
66.9k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames::MatchInfoCollection>::getAlias() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZoneIdMatchHandler>::getAlias() const
icu_79::LocalPointerBase<icu_79::CollationTailoring>::getAlias() const
Line
Count
Source
120
173
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::InitialTimeZoneRule>::getAlias() const
icu_79::LocalPointerBase<char16_t>::getAlias() const
Line
Count
Source
120
1.14k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::getAlias() const
Line
Count
Source
120
467k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::getAlias() const
Line
Count
Source
120
1.21M
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::number::impl::UsagePrefsHandler const>::getAlias() const
Line
Count
Source
120
100
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::UnitConversionHandler const>::getAlias() const
icu_79::LocalPointerBase<icu_79::number::impl::ScientificHandler const>::getAlias() const
Line
Count
Source
120
170
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::number::impl::ParsedPatternInfo const>::getAlias() const
Line
Count
Source
120
9.05k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer const>::getAlias() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::MixedUnitLongNameHandler>::getAlias() const
icu_79::LocalPointerBase<icu_79::number::impl::LongNameHandler>::getAlias() const
Line
Count
Source
120
3.21k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::number::impl::CompactHandler const>::getAlias() const
Line
Count
Source
120
3.29k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::number::impl::ImmutablePatternModifier>::getAlias() const
Line
Count
Source
120
565
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PluralRules const>::getAlias() const
Line
Count
Source
120
4.89k
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<unsigned char>::getAlias() const
icu_79::LocalPointerBase<icu_79::PtnElem>::getAlias() const
Line
Count
Source
120
34.1M
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PtnSkeleton>::getAlias() const
Line
Count
Source
120
144k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::Region>::getAlias() const
Line
Count
Source
120
62
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::DecimalFormat>::getAlias() const
icu_79::LocalPointerBase<icu_79::message2::data_model::Key>::getAlias() const
Line
Count
Source
120
578
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::message2::data_model::Option>::getAlias() const
Line
Count
Source
120
121k
    T *getAlias() const { return ptr; }
icu_79::LocalPointerBase<icu_79::message2::data_model::Binding>::getAlias() const
Line
Count
Source
120
489
    T *getAlias() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::data_model::Variant>::getAlias() const
icu_79::LocalPointerBase<icu_79::message2::data_model::PatternPart>::getAlias() const
Line
Count
Source
120
7.43k
    T *getAlias() const { return ptr; }
121
    /**
122
     * Access without ownership change.
123
     * @return the pointer value as a reference
124
     * @stable ICU 4.4
125
     */
126
15.8M
    T &operator*() const { return *ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UCharsTrie>::operator*() const
icu_79::LocalPointerBase<icu_79::UnicodeSet>::operator*() const
Line
Count
Source
126
20.7k
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::operator*() const
Line
Count
Source
126
1.22k
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::FormattedRelativeDateTimeData>::operator*() const
Line
Count
Source
126
8.90M
    T &operator*() const { return *ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::operator*() const
icu_79::LocalPointerBase<icu_79::CollationTailoring>::operator*() const
Line
Count
Source
126
176
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::UnicodeString>::operator*() const
Line
Count
Source
126
198
    T &operator*() const { return *ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalQuantity>::operator*() const
icu_79::LocalPointerBase<icu_79::number::impl::ParsedPatternInfo const>::operator*() const
Line
Count
Source
126
11.3k
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::numparse::impl::NumberParserImpl>::operator*() const
Line
Count
Source
126
101k
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::PtnSkeleton>::operator*() const
Line
Count
Source
126
3.42M
    T &operator*() const { return *ptr; }
icu_79::LocalPointerBase<icu_79::DateTimeMatcher>::operator*() const
Line
Count
Source
126
3.42M
    T &operator*() const { return *ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UVector>::operator*() const
127
    /**
128
     * Access without ownership change.
129
     * @return the pointer value
130
     * @stable ICU 4.4
131
     */
132
862M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::NumberingSystem>::operator->() const
Line
Count
Source
132
2.10M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UVector>::operator->() const
Line
Count
Source
132
229k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UnicodeSet>::operator->() const
Line
Count
Source
132
318k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakIterator>::operator->() const
icu_79::LocalPointerBase<icu_79::UCharsTrieBuilder>::operator->() const
Line
Count
Source
132
5.44k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::CharString>::operator->() const
Line
Count
Source
132
293
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::StringEnumeration>::operator->() const
Line
Count
Source
132
171k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::operator->() const
Line
Count
Source
132
74.9k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::UnicodeString>::operator->() const
Line
Count
Source
132
169k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<UKeywordsContext>::operator->() const
Line
Count
Source
132
26.8k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<UEnumeration>::operator->() const
Line
Count
Source
132
4.48k
    T *operator->() const { return ptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::VariantListEntry>::operator->() const
Line
Count
Source
132
624k
    T *operator->() const { return ptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::operator->() const
Line
Count
Source
132
579k
    T *operator->() const { return ptr; }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::operator->() const
Line
Count
Source
132
234k
    T *operator->() const { return ptr; }
Unexecuted instantiation: umutablecptrie.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::MutableCodePointTrie>::operator->() const
icu_79::LocalPointerBase<UResourceBundle>::operator->() const
Line
Count
Source
132
10.9k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ExternalBreakEngine>::operator->() const
icu_79::LocalPointerBase<icu_79::UVector32>::operator->() const
Line
Count
Source
132
803M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::operator->() const
Line
Count
Source
132
2.45k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::FormattedRelativeDateTimeData>::operator->() const
Line
Count
Source
132
8.90M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::Calendar>::operator->() const
Line
Count
Source
132
1.54k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::ChineseCalendar>::operator->() const
Line
Count
Source
132
17.8k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::RuleBasedTimeZone>::operator->() const
Line
Count
Source
132
4
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::EraRules>::operator->() const
Line
Count
Source
132
11.3k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::NumberFormat>::operator->() const
Line
Count
Source
132
47.0k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols>::operator->() const
Line
Count
Source
132
11.9k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DecimalFormat>::operator->() const
Line
Count
Source
132
183k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PluralRules>::operator->() const
Line
Count
Source
132
129k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::SharedPluralRules>::operator->() const
Line
Count
Source
132
6.29k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::Transition>::operator->() const
Line
Count
Source
132
9
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::CollationTailoring>::operator->() const
Line
Count
Source
132
45.9k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneFormat>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneNames::MatchInfoCollection>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZoneIdMatchHandler>::operator->() const
icu_79::LocalPointerBase<icu_79::TimeZoneGenericNames>::operator->() const
Line
Count
Source
132
1.29k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZNameInfo>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeZoneRule>::operator->() const
icu_79::LocalPointerBase<icu_79::OlsonToMetaMappingEntry>::operator->() const
Line
Count
Source
132
3.12k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::InitialTimeZoneRule>::operator->() const
icu_79::LocalPointerBase<icu_79::CollationDataBuilder>::operator->() const
Line
Count
Source
132
7.34k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::operator->() const
icu_79::LocalPointerBase<icu_79::NFRule>::operator->() const
Line
Count
Source
132
20.4M
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CollationElementIterator>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalFormatWarehouse>::operator->() const
icu_79::LocalPointerBase<icu_79::number::impl::ImmutablePatternModifier>::operator->() const
Line
Count
Source
132
565
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::MutablePatternModifier>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::UsagePrefsHandler const>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameHandler>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ListFormatter>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::operator->() const
icu_79::LocalPointerBase<icu_79::number::impl::DecNum>::operator->() const
Line
Count
Source
132
2.86k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::number::impl::AdoptingModifierStore>::operator->() const
Line
Count
Source
132
2.03M
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::units::ComplexUnitsConverter>::operator->() const
icu_79::LocalPointerBase<icu_79::numparse::impl::NumberParserImpl>::operator->() const
Line
Count
Source
132
2.18M
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Hashtable>::operator->() const
listformatter.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::PatternHandler>::operator->() const
Line
Count
Source
132
14.4k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::FormattedListData>::operator->() const
Line
Count
Source
132
202k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::Collator>::operator->() const
Line
Count
Source
132
15.5k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DateTimePatternGenerator>::operator->() const
Line
Count
Source
132
53.1k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PtnSkeleton>::operator->() const
Line
Count
Source
132
12.2M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::PtnElem>::operator->() const
Line
Count
Source
132
4.25M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::DateTimeMatcher>::operator->() const
Line
Count
Source
132
3.42M
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::Region>::operator->() const
Line
Count
Source
132
4.81k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::SimpleDateFormat::NSOverride>::operator->() const
Line
Count
Source
132
6.31k
    T *operator->() const { return ptr; }
icu_79::LocalPointerBase<icu_79::RuleBasedCollator>::operator->() const
Line
Count
Source
132
31.2k
    T *operator->() const { return ptr; }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StandardFunctions::Number>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::DateFormat>::operator->() const
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Environment>::operator->() const
133
    /**
134
     * Gives up ownership; the internal pointer becomes nullptr.
135
     * @return the pointer value;
136
     *         caller becomes responsible for deleting the object
137
     * @stable ICU 4.4
138
     */
139
25.8M
    T *orphan() {
140
25.8M
        T *p=ptr;
141
25.8M
        ptr=nullptr;
142
25.8M
        return p;
143
25.8M
    }
icu_79::LocalPointerBase<icu_79::NumberingSystem>::orphan()
Line
Count
Source
139
838k
    T *orphan() {
140
838k
        T *p=ptr;
141
838k
        ptr=nullptr;
142
838k
        return p;
143
838k
    }
icu_79::LocalPointerBase<icu_79::UnicodeString>::orphan()
Line
Count
Source
139
6.44M
    T *orphan() {
140
6.44M
        T *p=ptr;
141
6.44M
        ptr=nullptr;
142
6.44M
        return p;
143
6.44M
    }
icu_79::LocalPointerBase<icu_79::UVector>::orphan()
Line
Count
Source
139
200k
    T *orphan() {
140
200k
        T *p=ptr;
141
200k
        ptr=nullptr;
142
200k
        return p;
143
200k
    }
icu_79::LocalPointerBase<icu_79::StringEnumeration>::orphan()
Line
Count
Source
139
318
    T *orphan() {
140
318
        T *p=ptr;
141
318
        ptr=nullptr;
142
318
        return p;
143
318
    }
icu_79::LocalPointerBase<icu_79::UnicodeSet>::orphan()
Line
Count
Source
139
592k
    T *orphan() {
140
592k
        T *p=ptr;
141
592k
        ptr=nullptr;
142
592k
        return p;
143
592k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<UText>::orphan()
icu_79::LocalPointerBase<UResourceBundle>::orphan()
Line
Count
Source
139
1.15M
    T *orphan() {
140
1.15M
        T *p=ptr;
141
1.15M
        ptr=nullptr;
142
1.15M
        return p;
143
1.15M
    }
icu_79::LocalPointerBase<icu_79::BreakIterator>::orphan()
Line
Count
Source
139
5.18k
    T *orphan() {
140
5.18k
        T *p=ptr;
141
5.18k
        ptr=nullptr;
142
5.18k
        return p;
143
5.18k
    }
icu_79::LocalPointerBase<icu_79::UCharsTrie>::orphan()
Line
Count
Source
139
386
    T *orphan() {
140
386
        T *p=ptr;
141
386
        ptr=nullptr;
142
386
        return p;
143
386
    }
icu_79::LocalPointerBase<icu_79::FilteredBreakIteratorBuilder>::orphan()
Line
Count
Source
139
198
    T *orphan() {
140
198
        T *p=ptr;
141
198
        ptr=nullptr;
142
198
        return p;
143
198
    }
Unexecuted instantiation: locavailable.cpp:icu_79::LocalPointerBase<(anonymous namespace)::AvailableLocalesStringEnumeration>::orphan()
icu_79::LocalPointerBase<icu_79::CharString>::orphan()
Line
Count
Source
139
526
    T *orphan() {
140
526
        T *p=ptr;
141
526
        ptr=nullptr;
142
526
        return p;
143
526
    }
icu_79::LocalPointerBase<UHashtable>::orphan()
Line
Count
Source
139
21
    T *orphan() {
140
21
        T *p=ptr;
141
21
        ptr=nullptr;
142
21
        return p;
143
21
    }
icu_79::LocalPointerBase<icu_79::ICULanguageBreakFactory>::orphan()
Line
Count
Source
139
3
    T *orphan() {
140
3
        T *p=ptr;
141
3
        ptr=nullptr;
142
3
        return p;
143
3
    }
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::DictionaryCache>::orphan()
Line
Count
Source
139
32.5k
    T *orphan() {
140
32.5k
        T *p=ptr;
141
32.5k
        ptr=nullptr;
142
32.5k
        return p;
143
32.5k
    }
icu_79::LocalPointerBase<icu_79::RuleBasedBreakIterator::BreakCache>::orphan()
Line
Count
Source
139
32.5k
    T *orphan() {
140
32.5k
        T *p=ptr;
141
32.5k
        ptr=nullptr;
142
32.5k
        return p;
143
32.5k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ExternalBreakEngine>::orphan()
icu_79::LocalPointerBase<icu_79::RBBIDataHeader>::orphan()
Line
Count
Source
139
2.49k
    T *orphan() {
140
2.49k
        T *p=ptr;
141
2.49k
        ptr=nullptr;
142
2.49k
        return p;
143
2.49k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::UObject>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ICUServiceFactory>::orphan()
icu_79::LocalPointerBase<UKeywordsContext>::orphan()
Line
Count
Source
139
4.48k
    T *orphan() {
140
4.48k
        T *p=ptr;
141
4.48k
        ptr=nullptr;
142
4.48k
        return p;
143
4.48k
    }
icu_79::LocalPointerBase<UEnumeration>::orphan()
Line
Count
Source
139
4.48k
    T *orphan() {
140
4.48k
        T *p=ptr;
141
4.48k
        ptr=nullptr;
142
4.48k
        return p;
143
4.48k
    }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::VariantListEntry>::orphan()
Line
Count
Source
139
35.5k
    T *orphan() {
140
35.5k
        T *p=ptr;
141
35.5k
        ptr=nullptr;
142
35.5k
        return p;
143
35.5k
    }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ULanguageTag>::orphan()
Line
Count
Source
139
293k
    T *orphan() {
140
293k
        T *p=ptr;
141
293k
        ptr=nullptr;
142
293k
        return p;
143
293k
    }
uloc_tag.cpp:icu_79::LocalPointerBase<(anonymous namespace)::ExtensionListEntry>::orphan()
Line
Count
Source
139
81.3k
    T *orphan() {
140
81.3k
        T *p=ptr;
141
81.3k
        ptr=nullptr;
142
81.3k
        return p;
143
81.3k
    }
umutablecptrie.cpp:icu_79::LocalPointerBase<icu_79::(anonymous namespace)::MutableCodePointTrie>::orphan()
Line
Count
Source
139
2.52k
    T *orphan() {
140
2.52k
        T *p=ptr;
141
2.52k
        ptr=nullptr;
142
2.52k
        return p;
143
2.52k
    }
icu_79::LocalPointerBase<icu_79::UStack>::orphan()
Line
Count
Source
139
3
    T *orphan() {
140
3
        T *p=ptr;
141
3
        ptr=nullptr;
142
3
        return p;
143
3
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::BreakEngineWrapper>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Norm2AllModes>::orphan()
icu_79::LocalPointerBase<icu_79::RelativeDateTimeCacheData>::orphan()
Line
Count
Source
139
1.22k
    T *orphan() {
140
1.22k
        T *p=ptr;
141
1.22k
        ptr=nullptr;
142
1.22k
        return p;
143
1.22k
    }
icu_79::LocalPointerBase<icu_79::FormattedRelativeDateTimeData>::orphan()
Line
Count
Source
139
8.90M
    T *orphan() {
140
8.90M
        T *p=ptr;
141
8.90M
        ptr=nullptr;
142
8.90M
        return p;
143
8.90M
    }
icu_79::LocalPointerBase<icu_79::NumberFormat>::orphan()
Line
Count
Source
139
47.0k
    T *orphan() {
140
47.0k
        T *p=ptr;
141
47.0k
        ptr=nullptr;
142
47.0k
        return p;
143
47.0k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::RelativeDateTimeFormatter>::orphan()
icu_79::LocalPointerBase<icu_79::Calendar>::orphan()
Line
Count
Source
139
20.6k
    T *orphan() {
140
20.6k
        T *p=ptr;
141
20.6k
        ptr=nullptr;
142
20.6k
        return p;
143
20.6k
    }
icu_79::LocalPointerBase<icu_79::TimeZone>::orphan()
Line
Count
Source
139
181k
    T *orphan() {
140
181k
        T *p=ptr;
141
181k
        ptr=nullptr;
142
181k
        return p;
143
181k
    }
icu_79::LocalPointerBase<icu_79::InitialTimeZoneRule>::orphan()
Line
Count
Source
139
1
    T *orphan() {
140
1
        T *p=ptr;
141
1
        ptr=nullptr;
142
1
        return p;
143
1
    }
icu_79::LocalPointerBase<icu_79::TimeZoneRule>::orphan()
Line
Count
Source
139
6
    T *orphan() {
140
6
        T *p=ptr;
141
6
        ptr=nullptr;
142
6
        return p;
143
6
    }
icu_79::LocalPointerBase<icu_79::RuleBasedTimeZone>::orphan()
Line
Count
Source
139
1
    T *orphan() {
140
1
        T *p=ptr;
141
1
        ptr=nullptr;
142
1
        return p;
143
1
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyAmount>::orphan()
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols>::orphan()
Line
Count
Source
139
324k
    T *orphan() {
140
324k
        T *p=ptr;
141
324k
        ptr=nullptr;
142
324k
        return p;
143
324k
    }
icu_79::LocalPointerBase<icu_79::DecimalFormat>::orphan()
Line
Count
Source
139
230k
    T *orphan() {
140
230k
        T *p=ptr;
141
230k
        ptr=nullptr;
142
230k
        return p;
143
230k
    }
icu_79::LocalPointerBase<icu_79::PluralRules>::orphan()
Line
Count
Source
139
85.0k
    T *orphan() {
140
85.0k
        T *p=ptr;
141
85.0k
        ptr=nullptr;
142
85.0k
        return p;
143
85.0k
    }
icu_79::LocalPointerBase<icu_79::StandardPluralRanges>::orphan()
Line
Count
Source
139
73.9k
    T *orphan() {
140
73.9k
        T *p=ptr;
141
73.9k
        ptr=nullptr;
142
73.9k
        return p;
143
73.9k
    }
icu_79::LocalPointerBase<icu_79::SharedPluralRules>::orphan()
Line
Count
Source
139
6.29k
    T *orphan() {
140
6.29k
        T *p=ptr;
141
6.29k
        ptr=nullptr;
142
6.29k
        return p;
143
6.29k
    }
icu_79::LocalPointerBase<icu_79::UVector32>::orphan()
Line
Count
Source
139
315k
    T *orphan() {
140
315k
        T *p=ptr;
141
315k
        ptr=nullptr;
142
315k
        return p;
143
315k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalQuantity>::orphan()
icu_79::LocalPointerBase<icu_79::NFRule>::orphan()
Line
Count
Source
139
2.76M
    T *orphan() {
140
2.76M
        T *p=ptr;
141
2.76M
        ptr=nullptr;
142
2.76M
        return p;
143
2.76M
    }
icu_79::LocalPointerBase<icu_79::Transition>::orphan()
Line
Count
Source
139
3
    T *orphan() {
140
3
        T *p=ptr;
141
3
        ptr=nullptr;
142
3
        return p;
143
3
    }
icu_79::LocalPointerBase<icu_79::CollationTailoring>::orphan()
Line
Count
Source
139
7.98k
    T *orphan() {
140
7.98k
        T *p=ptr;
141
7.98k
        ptr=nullptr;
142
7.98k
        return p;
143
7.98k
    }
icu_79::LocalPointerBase<icu_79::TimeZoneGenericNames>::orphan()
Line
Count
Source
139
1.29k
    T *orphan() {
140
1.29k
        T *p=ptr;
141
1.29k
        ptr=nullptr;
142
1.29k
        return p;
143
1.29k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::MatchInfo>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::ZNameInfo>::orphan()
icu_79::LocalPointerBase<icu_79::MetaZoneIDsEnumeration>::orphan()
Line
Count
Source
139
63.2k
    T *orphan() {
140
63.2k
        T *p=ptr;
141
63.2k
        ptr=nullptr;
142
63.2k
        return p;
143
63.2k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::AnnualTimeZoneRule>::orphan()
icu_79::LocalPointerBase<char16_t>::orphan()
Line
Count
Source
139
382
    T *orphan() {
140
382
        T *p=ptr;
141
382
        ptr=nullptr;
142
382
        return p;
143
382
    }
icu_79::LocalPointerBase<icu_79::OlsonToMetaMappingEntry>::orphan()
Line
Count
Source
139
1.04k
    T *orphan() {
140
1.04k
        T *p=ptr;
141
1.04k
        ptr=nullptr;
142
1.04k
        return p;
143
1.04k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::TimeArrayTimeZoneRule>::orphan()
icu_79::LocalPointerBase<icu_79::CollationDataBuilder>::orphan()
Line
Count
Source
139
3.67k
    T *orphan() {
140
3.67k
        T *p=ptr;
141
3.67k
        ptr=nullptr;
142
3.67k
        return p;
143
3.67k
    }
icu_79::LocalPointerBase<icu_79::ConditionalCE32>::orphan()
Line
Count
Source
139
601k
    T *orphan() {
140
601k
        T *p=ptr;
141
601k
        ptr=nullptr;
142
601k
        return p;
143
601k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::CurrencyPluralInfo>::orphan()
icu_79::LocalPointerBase<icu_79::DecimalFormatSymbols const>::orphan()
Line
Count
Source
139
70.6k
    T *orphan() {
140
70.6k
        T *p=ptr;
141
70.6k
        ptr=nullptr;
142
70.6k
        return p;
143
70.6k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::DecimalFormatWarehouse>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameHandler>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LongNameMultiplexer>::orphan()
icu_79::LocalPointerBase<icu_79::number::impl::DecNum>::orphan()
Line
Count
Source
139
1.29k
    T *orphan() {
140
1.29k
        T *p=ptr;
141
1.29k
        ptr=nullptr;
142
1.29k
        return p;
143
1.29k
    }
icu_79::LocalPointerBase<icu_79::numparse::impl::NumberParserImpl>::orphan()
Line
Count
Source
139
101k
    T *orphan() {
140
101k
        T *p=ptr;
141
101k
        ptr=nullptr;
142
101k
        return p;
143
101k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<unsigned char>::orphan()
icu_79::LocalPointerBase<icu_79::Hashtable>::orphan()
Line
Count
Source
139
29.7k
    T *orphan() {
140
29.7k
        T *p=ptr;
141
29.7k
        ptr=nullptr;
142
29.7k
        return p;
143
29.7k
    }
icu_79::LocalPointerBase<icu_79::FormattedListData>::orphan()
Line
Count
Source
139
24.1k
    T *orphan() {
140
24.1k
        T *p=ptr;
141
24.1k
        ptr=nullptr;
142
24.1k
        return p;
143
24.1k
    }
icu_79::LocalPointerBase<icu_79::DateFmtBestPattern>::orphan()
Line
Count
Source
139
12.7k
    T *orphan() {
140
12.7k
        T *p=ptr;
141
12.7k
        ptr=nullptr;
142
12.7k
        return p;
143
12.7k
    }
icu_79::LocalPointerBase<icu_79::DateFormat>::orphan()
Line
Count
Source
139
63.5k
    T *orphan() {
140
63.5k
        T *p=ptr;
141
63.5k
        ptr=nullptr;
142
63.5k
        return p;
143
63.5k
    }
icu_79::LocalPointerBase<int>::orphan()
Line
Count
Source
139
828
    T *orphan() {
140
828
        T *p=ptr;
141
828
        ptr=nullptr;
142
828
        return p;
143
828
    }
icu_79::LocalPointerBase<icu_79::DateTimePatternGenerator>::orphan()
Line
Count
Source
139
29.2k
    T *orphan() {
140
29.2k
        T *p=ptr;
141
29.2k
        ptr=nullptr;
142
29.2k
        return p;
143
29.2k
    }
icu_79::LocalPointerBase<icu_79::PtnElem>::orphan()
Line
Count
Source
139
2.12M
    T *orphan() {
140
2.12M
        T *p=ptr;
141
2.12M
        ptr=nullptr;
142
2.12M
        return p;
143
2.12M
    }
icu_79::LocalPointerBase<icu_79::Region>::orphan()
Line
Count
Source
139
784
    T *orphan() {
140
784
        T *p=ptr;
141
784
        ptr=nullptr;
142
784
        return p;
143
784
    }
icu_79::LocalPointerBase<icu_79::SimpleDateFormat::NSOverride>::orphan()
Line
Count
Source
139
1.57k
    T *orphan() {
140
1.57k
        T *p=ptr;
141
1.57k
        ptr=nullptr;
142
1.57k
        return p;
143
1.57k
    }
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Format>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::Formattable>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::number::impl::LocalizedNumberFormatterAsFormat>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::StaticErrors>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::data_model::Variant>::orphan()
Unexecuted instantiation: icu_79::LocalPointerBase<icu_79::message2::Formattable>::orphan()
144
    /**
145
     * Deletes the object it owns,
146
     * and adopts (takes ownership of) the one passed in.
147
     * Subclass must override: Base class does not delete the object.
148
     * @param p simple pointer to an object that is adopted
149
     * @stable ICU 4.4
150
     */
151
    void adoptInstead(T *p) {
152
        // delete ptr;
153
        ptr=p;
154
    }
155
protected:
156
    /**
157
     * Actual pointer.
158
     * @internal
159
     */
160
    T *ptr;
161
private:
162
    // No comparison operators with other LocalPointerBases.
163
    bool operator==(const LocalPointerBase<T> &other) = delete;
164
    bool operator!=(const LocalPointerBase<T> &other) = delete;
165
    // No ownership sharing: No copy constructor, no assignment operator.
166
    LocalPointerBase(const LocalPointerBase<T> &other) = delete;
167
    void operator=(const LocalPointerBase<T> &other) = delete;
168
};
169
170
/**
171
 * "Smart pointer" class, deletes objects via the standard C++ delete operator.
172
 * For most methods see the LocalPointerBase base class.
173
 *
174
 * Usage example:
175
 * \code
176
 * LocalPointer<UnicodeString> s(new UnicodeString((UChar32)0x50005));
177
 * int32_t length=s->length();  // 2
178
 * char16_t lead=s->charAt(0);  // 0xd900
179
 * if(some condition) { return; }  // no need to explicitly delete the pointer
180
 * s.adoptInstead(new UnicodeString((char16_t)0xfffc));
181
 * length=s->length();  // 1
182
 * // no need to explicitly delete the pointer
183
 * \endcode
184
 *
185
 * @see LocalPointerBase
186
 * @stable ICU 4.4
187
 */
188
template<typename T>
189
class LocalPointer : public LocalPointerBase<T> {
190
public:
191
    using LocalPointerBase<T>::operator*;
192
    using LocalPointerBase<T>::operator->;
193
    /**
194
     * Constructor takes ownership.
195
     * @param p simple pointer to an object that is adopted
196
     * @stable ICU 4.4
197
     */
198
23.3M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::UnicodeSet>::LocalPointer(icu_79::UnicodeSet*)
Line
Count
Source
198
92.8k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::UCharsTrie>::LocalPointer(icu_79::UCharsTrie*)
Line
Count
Source
198
772
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::BreakIterator>::LocalPointer(icu_79::BreakIterator*)
Line
Count
Source
198
7.48k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::CharString>::LocalPointer(icu_79::CharString*)
Line
Count
Source
198
301
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::StringEnumeration>::LocalPointer(icu_79::StringEnumeration*)
Line
Count
Source
198
85.1k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::UVector>::LocalPointer(icu_79::UVector*)
Line
Count
Source
198
311k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::UObject>::LocalPointer(icu_79::UObject*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ICUServiceFactory>::LocalPointer(icu_79::ICUServiceFactory*)
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::ExtensionListEntry>::LocalPointer((anonymous namespace)::ExtensionListEntry*)
Line
Count
Source
198
293k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::UnicodeString>::LocalPointer(icu_79::UnicodeString*)
Line
Count
Source
198
5.64M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::UVector32>::LocalPointer(icu_79::UVector32*)
Line
Count
Source
198
5.19M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::Norm2AllModes>::LocalPointer(icu_79::Norm2AllModes*)
icu_79::LocalPointer<icu_79::RelativeDateTimeCacheData>::LocalPointer(icu_79::RelativeDateTimeCacheData*)
Line
Count
Source
198
1.22k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::NumberFormat>::LocalPointer(icu_79::NumberFormat*)
Line
Count
Source
198
49.3k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::Calendar>::LocalPointer(icu_79::Calendar*)
Line
Count
Source
198
20.9k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::TimeZone>::LocalPointer(icu_79::TimeZone*)
Line
Count
Source
198
162k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::EraRules>::LocalPointer(icu_79::EraRules*)
Line
Count
Source
198
11.3k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::NumberingSystem>::LocalPointer(icu_79::NumberingSystem*)
Line
Count
Source
198
438k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::DecimalFormatSymbols>::LocalPointer(icu_79::DecimalFormatSymbols*)
Line
Count
Source
198
47.1k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::DecimalFormat>::LocalPointer(icu_79::DecimalFormat*)
Line
Count
Source
198
230k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::TimeZoneRule>::LocalPointer(icu_79::TimeZoneRule*)
Line
Count
Source
198
3
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::CollationTailoring>::LocalPointer(icu_79::CollationTailoring*)
Line
Count
Source
198
14.6k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneFormat>::LocalPointer(icu_79::TimeZoneFormat*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneNames>::LocalPointer(icu_79::TimeZoneNames*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneNames::MatchInfoCollection>::LocalPointer(icu_79::TimeZoneNames::MatchInfoCollection*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ZoneIdMatchHandler>::LocalPointer(icu_79::ZoneIdMatchHandler*)
icu_79::LocalPointer<icu_79::MetaZoneIDsEnumeration>::LocalPointer(icu_79::MetaZoneIDsEnumeration*)
Line
Count
Source
198
63.2k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::InitialTimeZoneRule>::LocalPointer(icu_79::InitialTimeZoneRule*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::AnnualTimeZoneRule>::LocalPointer(icu_79::AnnualTimeZoneRule*)
icu_79::LocalPointer<icu_79::PluralRules>::LocalPointer(icu_79::PluralRules*)
Line
Count
Source
198
480k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::CurrencyPluralInfo>::LocalPointer(icu_79::CurrencyPluralInfo*)
Line
Count
Source
198
960k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::DecimalFormatSymbols const>::LocalPointer(icu_79::DecimalFormatSymbols const*)
Line
Count
Source
198
788k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::NFRule>::LocalPointer(icu_79::NFRule*)
Line
Count
Source
198
2.66M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::CollationElementIterator>::LocalPointer(icu_79::CollationElementIterator*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::UnlocalizedNumberFormatter>::LocalPointer(icu_79::number::UnlocalizedNumberFormatter*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::LocalizedNumberFormatter>::LocalPointer(icu_79::number::LocalizedNumberFormatter*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ListFormatter>::LocalPointer(icu_79::ListFormatter*)
icu_79::LocalPointer<icu_79::number::impl::UsagePrefsHandler const>::LocalPointer(icu_79::number::impl::UsagePrefsHandler const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::UnitConversionHandler const>::LocalPointer(icu_79::number::impl::UnitConversionHandler const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::PluralRules const>::LocalPointer(icu_79::PluralRules const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::ParsedPatternInfo const>::LocalPointer(icu_79::number::impl::ParsedPatternInfo const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::ScientificHandler const>::LocalPointer(icu_79::number::impl::ScientificHandler const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::MutablePatternModifier>::LocalPointer(icu_79::number::impl::MutablePatternModifier*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::ImmutablePatternModifier>::LocalPointer(icu_79::number::impl::ImmutablePatternModifier*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::LongNameHandler>::LocalPointer(icu_79::number::impl::LongNameHandler*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::MixedUnitLongNameHandler>::LocalPointer(icu_79::number::impl::MixedUnitLongNameHandler*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::LongNameMultiplexer const>::LocalPointer(icu_79::number::impl::LongNameMultiplexer const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::CompactHandler const>::LocalPointer(icu_79::number::impl::CompactHandler const*)
Line
Count
Source
198
11.5k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::NumberingSystem const>::LocalPointer(icu_79::NumberingSystem const*)
Line
Count
Source
198
11.4k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::number::impl::AdoptingModifierStore>::LocalPointer(icu_79::number::impl::AdoptingModifierStore*)
Line
Count
Source
198
565
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::units::ComplexUnitsConverter>::LocalPointer(icu_79::units::ComplexUnitsConverter*)
icu_79::LocalPointer<icu_79::UnicodeSet const>::LocalPointer(icu_79::UnicodeSet const*)
Line
Count
Source
198
1.21M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::numparse::impl::NumberParserImpl>::LocalPointer(icu_79::numparse::impl::NumberParserImpl*)
Line
Count
Source
198
101k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: listformatter.cpp:icu_79::LocalPointer<icu_79::(anonymous namespace)::PatternHandler>::LocalPointer(icu_79::(anonymous namespace)::PatternHandler*)
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator>::LocalPointer(icu_79::RuleBasedBreakIterator*)
Line
Count
Source
198
7.68k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::DateTimePatternGenerator>::LocalPointer(icu_79::DateTimePatternGenerator*)
Line
Count
Source
198
16.3k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::DateTimeMatcher>::LocalPointer(icu_79::DateTimeMatcher*)
Line
Count
Source
198
50.6k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::PtnSkeleton>::LocalPointer(icu_79::PtnSkeleton*)
Line
Count
Source
198
2.12M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::PtnElem>::LocalPointer(icu_79::PtnElem*)
Line
Count
Source
198
2.12M
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalPointer<icu_79::SimpleDateFormat::NSOverride>::LocalPointer(icu_79::SimpleDateFormat::NSOverride*)
Line
Count
Source
198
1.57k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::Format>::LocalPointer(icu_79::Format*)
icu_79::LocalPointer<icu_79::RuleBasedCollator>::LocalPointer(icu_79::RuleBasedCollator*)
Line
Count
Source
198
7.22k
    explicit LocalPointer(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::StaticErrors>::LocalPointer(icu_79::message2::StaticErrors*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::DateFormat>::LocalPointer(icu_79::DateFormat*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::StandardFunctions::Number>::LocalPointer(icu_79::message2::StandardFunctions::Number*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::Environment>::LocalPointer(icu_79::message2::Environment*)
199
    /**
200
     * Constructor takes ownership and reports an error if nullptr.
201
     *
202
     * This constructor is intended to be used with other-class constructors
203
     * that may report a failure UErrorCode,
204
     * so that callers need to check only for U_FAILURE(errorCode)
205
     * and not also separately for isNull().
206
     *
207
     * @param p simple pointer to an object that is adopted
208
     * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
209
     *     if p==nullptr and no other failure code had been set
210
     * @stable ICU 55
211
     */
212
15.4M
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
15.4M
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
76
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
76
        }
216
15.4M
    }
icu_79::LocalPointer<icu_79::NumberingSystem>::LocalPointer(icu_79::NumberingSystem*, UErrorCode&)
Line
Count
Source
212
849k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
849k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
849k
    }
icu_79::LocalPointer<icu_79::UVector>::LocalPointer(icu_79::UVector*, UErrorCode&)
Line
Count
Source
212
67.3k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
67.3k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
67.3k
    }
icu_79::LocalPointer<icu_79::UnicodeString>::LocalPointer(icu_79::UnicodeString*, UErrorCode&)
Line
Count
Source
212
551k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
551k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
551k
    }
icu_79::LocalPointer<icu_79::StringEnumeration>::LocalPointer(icu_79::StringEnumeration*, UErrorCode&)
Line
Count
Source
212
455
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
455
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
76
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
76
        }
216
455
    }
icu_79::LocalPointer<icu_79::UnicodeSet>::LocalPointer(icu_79::UnicodeSet*, UErrorCode&)
Line
Count
Source
212
514k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
514k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
514k
    }
icu_79::LocalPointer<icu_79::UCharsTrieBuilder>::LocalPointer(icu_79::UCharsTrieBuilder*, UErrorCode&)
Line
Count
Source
212
396
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
396
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
396
    }
icu_79::LocalPointer<icu_79::FilteredBreakIteratorBuilder>::LocalPointer(icu_79::FilteredBreakIteratorBuilder*, UErrorCode&)
Line
Count
Source
212
226
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
226
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
226
    }
Unexecuted instantiation: locavailable.cpp:icu_79::LocalPointer<(anonymous namespace)::AvailableLocalesStringEnumeration>::LocalPointer((anonymous namespace)::AvailableLocalesStringEnumeration*, UErrorCode&)
icu_79::LocalPointer<icu_79::CharString>::LocalPointer(icu_79::CharString*, UErrorCode&)
Line
Count
Source
212
233
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
233
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
233
    }
icu_79::LocalPointer<icu_79::ICULanguageBreakFactory>::LocalPointer(icu_79::ICULanguageBreakFactory*, UErrorCode&)
Line
Count
Source
212
3
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3
    }
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator::DictionaryCache>::LocalPointer(icu_79::RuleBasedBreakIterator::DictionaryCache*, UErrorCode&)
Line
Count
Source
212
32.5k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
32.5k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
32.5k
    }
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator::BreakCache>::LocalPointer(icu_79::RuleBasedBreakIterator::BreakCache*, UErrorCode&)
Line
Count
Source
212
32.5k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
32.5k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
32.5k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ExternalBreakEngine>::LocalPointer(icu_79::ExternalBreakEngine*, UErrorCode&)
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::VariantListEntry>::LocalPointer((anonymous namespace)::VariantListEntry*, UErrorCode&)
Line
Count
Source
212
36.3k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
36.3k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
36.3k
    }
umutablecptrie.cpp:icu_79::LocalPointer<icu_79::(anonymous namespace)::MutableCodePointTrie>::LocalPointer(icu_79::(anonymous namespace)::MutableCodePointTrie*, UErrorCode&)
Line
Count
Source
212
2.52k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
2.52k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
2.52k
    }
icu_79::LocalPointer<icu_79::UStack>::LocalPointer(icu_79::UStack*, UErrorCode&)
Line
Count
Source
212
3
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::BreakEngineWrapper>::LocalPointer(icu_79::BreakEngineWrapper*, UErrorCode&)
icu_79::LocalPointer<icu_79::UVector32>::LocalPointer(icu_79::UVector32*, UErrorCode&)
Line
Count
Source
212
953k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
953k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
953k
    }
icu_79::LocalPointer<icu_79::FormattedRelativeDateTimeData>::LocalPointer(icu_79::FormattedRelativeDateTimeData*, UErrorCode&)
Line
Count
Source
212
8.90M
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
8.90M
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
8.90M
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::RelativeDateTimeFormatter>::LocalPointer(icu_79::RelativeDateTimeFormatter*, UErrorCode&)
icu_79::LocalPointer<icu_79::TimeZone>::LocalPointer(icu_79::TimeZone*, UErrorCode&)
Line
Count
Source
212
20.6k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
20.6k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
20.6k
    }
icu_79::LocalPointer<icu_79::ChineseCalendar>::LocalPointer(icu_79::ChineseCalendar*, UErrorCode&)
Line
Count
Source
212
3.56k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3.56k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3.56k
    }
icu_79::LocalPointer<icu_79::InitialTimeZoneRule>::LocalPointer(icu_79::InitialTimeZoneRule*, UErrorCode&)
Line
Count
Source
212
1
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
1
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
1
    }
icu_79::LocalPointer<icu_79::TimeZoneRule>::LocalPointer(icu_79::TimeZoneRule*, UErrorCode&)
Line
Count
Source
212
3
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3
    }
icu_79::LocalPointer<icu_79::RuleBasedTimeZone>::LocalPointer(icu_79::RuleBasedTimeZone*, UErrorCode&)
Line
Count
Source
212
1
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
1
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
1
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::CurrencyAmount>::LocalPointer(icu_79::CurrencyAmount*, UErrorCode&)
icu_79::LocalPointer<icu_79::PluralRules>::LocalPointer(icu_79::PluralRules*, UErrorCode&)
Line
Count
Source
212
85.0k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
85.0k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
85.0k
    }
icu_79::LocalPointer<icu_79::SharedPluralRules>::LocalPointer(icu_79::SharedPluralRules*, UErrorCode&)
Line
Count
Source
212
6.29k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
6.29k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
6.29k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::NumberFormat>::LocalPointer(icu_79::NumberFormat*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::DecimalQuantity>::LocalPointer(icu_79::number::impl::DecimalQuantity*, UErrorCode&)
icu_79::LocalPointer<icu_79::DecimalFormatSymbols>::LocalPointer(icu_79::DecimalFormatSymbols*, UErrorCode&)
Line
Count
Source
212
278k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
278k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
278k
    }
icu_79::LocalPointer<icu_79::NFRule>::LocalPointer(icu_79::NFRule*, UErrorCode&)
Line
Count
Source
212
113k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
113k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
113k
    }
icu_79::LocalPointer<icu_79::Transition>::LocalPointer(icu_79::Transition*, UErrorCode&)
Line
Count
Source
212
3
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3
    }
icu_79::LocalPointer<icu_79::TimeZoneGenericNames>::LocalPointer(icu_79::TimeZoneGenericNames*, UErrorCode&)
Line
Count
Source
212
1.29k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
1.29k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
1.29k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::MatchInfo>::LocalPointer(icu_79::MatchInfo*, UErrorCode&)
icu_79::LocalPointer<icu_79::OlsonToMetaMappingEntry>::LocalPointer(icu_79::OlsonToMetaMappingEntry*, UErrorCode&)
Line
Count
Source
212
1.04k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
1.04k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
1.04k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeArrayTimeZoneRule>::LocalPointer(icu_79::TimeArrayTimeZoneRule*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::AnnualTimeZoneRule>::LocalPointer(icu_79::AnnualTimeZoneRule*, UErrorCode&)
icu_79::LocalPointer<icu_79::CollationDataBuilder>::LocalPointer(icu_79::CollationDataBuilder*, UErrorCode&)
Line
Count
Source
212
3.67k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
3.67k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
3.67k
    }
icu_79::LocalPointer<icu_79::ConditionalCE32>::LocalPointer(icu_79::ConditionalCE32*, UErrorCode&)
Line
Count
Source
212
601k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
601k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
601k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::CurrencyPluralInfo>::LocalPointer(icu_79::CurrencyPluralInfo*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::DecimalFormatWarehouse>::LocalPointer(icu_79::number::impl::DecimalFormatWarehouse*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LongNameHandler>::LocalPointer(icu_79::number::impl::LongNameHandler*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LongNameMultiplexer>::LocalPointer(icu_79::number::impl::LongNameMultiplexer*, UErrorCode&)
icu_79::LocalPointer<icu_79::number::impl::DecNum>::LocalPointer(icu_79::number::impl::DecNum*, UErrorCode&)
Line
Count
Source
212
1.54k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
1.54k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
1.54k
    }
icu_79::LocalPointer<icu_79::StandardPluralRanges>::LocalPointer(icu_79::StandardPluralRanges*, UErrorCode&)
Line
Count
Source
212
73.9k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
73.9k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
73.9k
    }
icu_79::LocalPointer<icu_79::Hashtable>::LocalPointer(icu_79::Hashtable*, UErrorCode&)
Line
Count
Source
212
29.7k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
29.7k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
29.7k
    }
listformatter.cpp:icu_79::LocalPointer<icu_79::(anonymous namespace)::PatternHandler>::LocalPointer(icu_79::(anonymous namespace)::PatternHandler*, UErrorCode&)
Line
Count
Source
212
620
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
620
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
620
    }
icu_79::LocalPointer<icu_79::FormattedListData>::LocalPointer(icu_79::FormattedListData*, UErrorCode&)
Line
Count
Source
212
24.1k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
24.1k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
24.1k
    }
icu_79::LocalPointer<icu_79::Collator>::LocalPointer(icu_79::Collator*, UErrorCode&)
Line
Count
Source
212
7.78k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
7.78k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
7.78k
    }
icu_79::LocalPointer<icu_79::DateFmtBestPattern>::LocalPointer(icu_79::DateFmtBestPattern*, UErrorCode&)
Line
Count
Source
212
12.7k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
12.7k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
12.7k
    }
icu_79::LocalPointer<icu_79::DateFormat>::LocalPointer(icu_79::DateFormat*, UErrorCode&)
Line
Count
Source
212
63.5k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
63.5k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
63.5k
    }
icu_79::LocalPointer<icu_79::DateTimePatternGenerator>::LocalPointer(icu_79::DateTimePatternGenerator*, UErrorCode&)
Line
Count
Source
212
38.7k
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
38.7k
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
38.7k
    }
icu_79::LocalPointer<icu_79::PtnElem>::LocalPointer(icu_79::PtnElem*, UErrorCode&)
Line
Count
Source
212
2.12M
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
2.12M
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
2.12M
    }
icu_79::LocalPointer<icu_79::Region>::LocalPointer(icu_79::Region*, UErrorCode&)
Line
Count
Source
212
784
    LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
213
784
        if(p==nullptr && U_SUCCESS(errorCode)) {
214
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
215
0
        }
216
784
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LocalizedNumberFormatterAsFormat>::LocalPointer(icu_79::number::impl::LocalizedNumberFormatterAsFormat*, UErrorCode&)
217
    /**
218
     * Move constructor, leaves src with isNull().
219
     * @param src source smart pointer
220
     * @stable ICU 56
221
     */
222
162k
    LocalPointer(LocalPointer<T> &&src) noexcept : LocalPointerBase<T>(src.ptr) {
223
162k
        src.ptr=nullptr;
224
162k
    }
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::VariantListEntry>::LocalPointer(icu_79::LocalPointer<(anonymous namespace)::VariantListEntry>&&)
Line
Count
Source
222
36.3k
    LocalPointer(LocalPointer<T> &&src) noexcept : LocalPointerBase<T>(src.ptr) {
223
36.3k
        src.ptr=nullptr;
224
36.3k
    }
icu_79::LocalPointer<icu_79::UVector>::LocalPointer(icu_79::LocalPointer<icu_79::UVector>&&)
Line
Count
Source
222
126k
    LocalPointer(LocalPointer<T> &&src) noexcept : LocalPointerBase<T>(src.ptr) {
223
126k
        src.ptr=nullptr;
224
126k
    }
225
226
    /**
227
     * Constructs a LocalPointer from a C++11 std::unique_ptr.
228
     * The LocalPointer steals the object owned by the std::unique_ptr.
229
     *
230
     * This constructor works via move semantics. If your std::unique_ptr is
231
     * in a local variable, you must use std::move.
232
     *
233
     * @param p The std::unique_ptr from which the pointer will be stolen.
234
     * @stable ICU 64
235
     */
236
    explicit LocalPointer(std::unique_ptr<T> &&p)
237
        : LocalPointerBase<T>(p.release()) {}
238
239
    /**
240
     * Destructor deletes the object it owns.
241
     * @stable ICU 4.4
242
     */
243
38.9M
    ~LocalPointer() {
244
38.9M
        delete LocalPointerBase<T>::ptr;
245
38.9M
    }
icu_79::LocalPointer<icu_79::NumberingSystem>::~LocalPointer()
Line
Count
Source
243
1.28M
    ~LocalPointer() {
244
1.28M
        delete LocalPointerBase<T>::ptr;
245
1.28M
    }
icu_79::LocalPointer<icu_79::UVector>::~LocalPointer()
Line
Count
Source
243
505k
    ~LocalPointer() {
244
505k
        delete LocalPointerBase<T>::ptr;
245
505k
    }
icu_79::LocalPointer<icu_79::UnicodeString>::~LocalPointer()
Line
Count
Source
243
6.19M
    ~LocalPointer() {
244
6.19M
        delete LocalPointerBase<T>::ptr;
245
6.19M
    }
icu_79::LocalPointer<icu_79::StringEnumeration>::~LocalPointer()
Line
Count
Source
243
85.6k
    ~LocalPointer() {
244
85.6k
        delete LocalPointerBase<T>::ptr;
245
85.6k
    }
icu_79::LocalPointer<icu_79::UnicodeSet>::~LocalPointer()
Line
Count
Source
243
607k
    ~LocalPointer() {
244
607k
        delete LocalPointerBase<T>::ptr;
245
607k
    }
icu_79::LocalPointer<icu_79::UCharsTrie>::~LocalPointer()
Line
Count
Source
243
772
    ~LocalPointer() {
244
772
        delete LocalPointerBase<T>::ptr;
245
772
    }
icu_79::LocalPointer<icu_79::BreakIterator>::~LocalPointer()
Line
Count
Source
243
7.48k
    ~LocalPointer() {
244
7.48k
        delete LocalPointerBase<T>::ptr;
245
7.48k
    }
icu_79::LocalPointer<icu_79::UCharsTrieBuilder>::~LocalPointer()
Line
Count
Source
243
396
    ~LocalPointer() {
244
396
        delete LocalPointerBase<T>::ptr;
245
396
    }
icu_79::LocalPointer<icu_79::FilteredBreakIteratorBuilder>::~LocalPointer()
Line
Count
Source
243
226
    ~LocalPointer() {
244
226
        delete LocalPointerBase<T>::ptr;
245
226
    }
Unexecuted instantiation: locavailable.cpp:icu_79::LocalPointer<(anonymous namespace)::AvailableLocalesStringEnumeration>::~LocalPointer()
icu_79::LocalPointer<icu_79::CharString>::~LocalPointer()
Line
Count
Source
243
534
    ~LocalPointer() {
244
534
        delete LocalPointerBase<T>::ptr;
245
534
    }
icu_79::LocalPointer<icu_79::ICULanguageBreakFactory>::~LocalPointer()
Line
Count
Source
243
3
    ~LocalPointer() {
244
3
        delete LocalPointerBase<T>::ptr;
245
3
    }
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator::DictionaryCache>::~LocalPointer()
Line
Count
Source
243
32.5k
    ~LocalPointer() {
244
32.5k
        delete LocalPointerBase<T>::ptr;
245
32.5k
    }
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator::BreakCache>::~LocalPointer()
Line
Count
Source
243
32.5k
    ~LocalPointer() {
244
32.5k
        delete LocalPointerBase<T>::ptr;
245
32.5k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ExternalBreakEngine>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::UObject>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ICUServiceFactory>::~LocalPointer()
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::VariantListEntry>::~LocalPointer()
Line
Count
Source
243
72.6k
    ~LocalPointer() {
244
72.6k
        delete LocalPointerBase<T>::ptr;
245
72.6k
    }
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::ExtensionListEntry>::~LocalPointer()
Line
Count
Source
243
293k
    ~LocalPointer() {
244
293k
        delete LocalPointerBase<T>::ptr;
245
293k
    }
umutablecptrie.cpp:icu_79::LocalPointer<icu_79::(anonymous namespace)::MutableCodePointTrie>::~LocalPointer()
Line
Count
Source
243
2.52k
    ~LocalPointer() {
244
2.52k
        delete LocalPointerBase<T>::ptr;
245
2.52k
    }
icu_79::LocalPointer<icu_79::UStack>::~LocalPointer()
Line
Count
Source
243
3
    ~LocalPointer() {
244
3
        delete LocalPointerBase<T>::ptr;
245
3
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::BreakEngineWrapper>::~LocalPointer()
icu_79::LocalPointer<icu_79::UVector32>::~LocalPointer()
Line
Count
Source
243
6.14M
    ~LocalPointer() {
244
6.14M
        delete LocalPointerBase<T>::ptr;
245
6.14M
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::Norm2AllModes>::~LocalPointer()
icu_79::LocalPointer<icu_79::RelativeDateTimeCacheData>::~LocalPointer()
Line
Count
Source
243
1.22k
    ~LocalPointer() {
244
1.22k
        delete LocalPointerBase<T>::ptr;
245
1.22k
    }
icu_79::LocalPointer<icu_79::FormattedRelativeDateTimeData>::~LocalPointer()
Line
Count
Source
243
8.90M
    ~LocalPointer() {
244
8.90M
        delete LocalPointerBase<T>::ptr;
245
8.90M
    }
icu_79::LocalPointer<icu_79::NumberFormat>::~LocalPointer()
Line
Count
Source
243
49.3k
    ~LocalPointer() {
244
49.3k
        delete LocalPointerBase<T>::ptr;
245
49.3k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::RelativeDateTimeFormatter>::~LocalPointer()
icu_79::LocalPointer<icu_79::Calendar>::~LocalPointer()
Line
Count
Source
243
20.9k
    ~LocalPointer() {
244
20.9k
        delete LocalPointerBase<T>::ptr;
245
20.9k
    }
icu_79::LocalPointer<icu_79::TimeZone>::~LocalPointer()
Line
Count
Source
243
182k
    ~LocalPointer() {
244
182k
        delete LocalPointerBase<T>::ptr;
245
182k
    }
icu_79::LocalPointer<icu_79::ChineseCalendar>::~LocalPointer()
Line
Count
Source
243
3.56k
    ~LocalPointer() {
244
3.56k
        delete LocalPointerBase<T>::ptr;
245
3.56k
    }
icu_79::LocalPointer<icu_79::RuleBasedTimeZone>::~LocalPointer()
Line
Count
Source
243
1
    ~LocalPointer() {
244
1
        delete LocalPointerBase<T>::ptr;
245
1
    }
icu_79::LocalPointer<icu_79::TimeZoneRule>::~LocalPointer()
Line
Count
Source
243
6
    ~LocalPointer() {
244
6
        delete LocalPointerBase<T>::ptr;
245
6
    }
icu_79::LocalPointer<icu_79::InitialTimeZoneRule>::~LocalPointer()
Line
Count
Source
243
1
    ~LocalPointer() {
244
1
        delete LocalPointerBase<T>::ptr;
245
1
    }
icu_79::LocalPointer<icu_79::EraRules>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::CurrencyAmount>::~LocalPointer()
icu_79::LocalPointer<icu_79::DecimalFormatSymbols>::~LocalPointer()
Line
Count
Source
243
325k
    ~LocalPointer() {
244
325k
        delete LocalPointerBase<T>::ptr;
245
325k
    }
icu_79::LocalPointer<icu_79::DecimalFormat>::~LocalPointer()
Line
Count
Source
243
230k
    ~LocalPointer() {
244
230k
        delete LocalPointerBase<T>::ptr;
245
230k
    }
icu_79::LocalPointer<icu_79::PluralRules>::~LocalPointer()
Line
Count
Source
243
564k
    ~LocalPointer() {
244
564k
        delete LocalPointerBase<T>::ptr;
245
564k
    }
icu_79::LocalPointer<icu_79::StandardPluralRanges>::~LocalPointer()
Line
Count
Source
243
73.9k
    ~LocalPointer() {
244
73.9k
        delete LocalPointerBase<T>::ptr;
245
73.9k
    }
icu_79::LocalPointer<icu_79::SharedPluralRules>::~LocalPointer()
Line
Count
Source
243
6.29k
    ~LocalPointer() {
244
6.29k
        delete LocalPointerBase<T>::ptr;
245
6.29k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::DecimalQuantity>::~LocalPointer()
icu_79::LocalPointer<icu_79::NFRule>::~LocalPointer()
Line
Count
Source
243
2.77M
    ~LocalPointer() {
244
2.77M
        delete LocalPointerBase<T>::ptr;
245
2.77M
    }
icu_79::LocalPointer<icu_79::Transition>::~LocalPointer()
Line
Count
Source
243
3
    ~LocalPointer() {
244
3
        delete LocalPointerBase<T>::ptr;
245
3
    }
icu_79::LocalPointer<icu_79::CollationTailoring>::~LocalPointer()
Line
Count
Source
243
14.6k
    ~LocalPointer() {
244
14.6k
        delete LocalPointerBase<T>::ptr;
245
14.6k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneFormat>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneNames>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneNames::MatchInfoCollection>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ZoneIdMatchHandler>::~LocalPointer()
icu_79::LocalPointer<icu_79::TimeZoneGenericNames>::~LocalPointer()
Line
Count
Source
243
1.29k
    ~LocalPointer() {
244
1.29k
        delete LocalPointerBase<T>::ptr;
245
1.29k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::MatchInfo>::~LocalPointer()
icu_79::LocalPointer<icu_79::MetaZoneIDsEnumeration>::~LocalPointer()
Line
Count
Source
243
63.2k
    ~LocalPointer() {
244
63.2k
        delete LocalPointerBase<T>::ptr;
245
63.2k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::AnnualTimeZoneRule>::~LocalPointer()
icu_79::LocalPointer<icu_79::OlsonToMetaMappingEntry>::~LocalPointer()
Line
Count
Source
243
1.04k
    ~LocalPointer() {
244
1.04k
        delete LocalPointerBase<T>::ptr;
245
1.04k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeArrayTimeZoneRule>::~LocalPointer()
icu_79::LocalPointer<icu_79::CollationDataBuilder>::~LocalPointer()
Line
Count
Source
243
3.67k
    ~LocalPointer() {
244
3.67k
        delete LocalPointerBase<T>::ptr;
245
3.67k
    }
icu_79::LocalPointer<icu_79::ConditionalCE32>::~LocalPointer()
Line
Count
Source
243
601k
    ~LocalPointer() {
244
601k
        delete LocalPointerBase<T>::ptr;
245
601k
    }
icu_79::LocalPointer<icu_79::CurrencyPluralInfo>::~LocalPointer()
Line
Count
Source
243
958k
    ~LocalPointer() {
244
958k
        delete LocalPointerBase<T>::ptr;
245
958k
    }
icu_79::LocalPointer<icu_79::DecimalFormatSymbols const>::~LocalPointer()
Line
Count
Source
243
786k
    ~LocalPointer() {
244
786k
        delete LocalPointerBase<T>::ptr;
245
786k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::CollationElementIterator>::~LocalPointer()
icu_79::LocalPointer<icu_79::number::impl::CompactHandler const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::LongNameMultiplexer const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::MixedUnitLongNameHandler>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::LongNameHandler>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::ImmutablePatternModifier>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::MutablePatternModifier>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::ScientificHandler const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::ParsedPatternInfo const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::PluralRules const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::UnitConversionHandler const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::UsagePrefsHandler const>::~LocalPointer()
Line
Count
Source
243
11.3k
    ~LocalPointer() {
244
11.3k
        delete LocalPointerBase<T>::ptr;
245
11.3k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::DecimalFormatWarehouse>::~LocalPointer()
icu_79::LocalPointer<icu_79::NumberingSystem const>::~LocalPointer()
Line
Count
Source
243
11.4k
    ~LocalPointer() {
244
11.4k
        delete LocalPointerBase<T>::ptr;
245
11.4k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ListFormatter>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LongNameMultiplexer>::~LocalPointer()
icu_79::LocalPointer<icu_79::number::impl::DecNum>::~LocalPointer()
Line
Count
Source
243
1.54k
    ~LocalPointer() {
244
1.54k
        delete LocalPointerBase<T>::ptr;
245
1.54k
    }
icu_79::LocalPointer<icu_79::number::impl::AdoptingModifierStore>::~LocalPointer()
Line
Count
Source
243
355
    ~LocalPointer() {
244
355
        delete LocalPointerBase<T>::ptr;
245
355
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::units::ComplexUnitsConverter>::~LocalPointer()
icu_79::LocalPointer<icu_79::UnicodeSet const>::~LocalPointer()
Line
Count
Source
243
1.21M
    ~LocalPointer() {
244
1.21M
        delete LocalPointerBase<T>::ptr;
245
1.21M
    }
icu_79::LocalPointer<icu_79::numparse::impl::NumberParserImpl>::~LocalPointer()
Line
Count
Source
243
101k
    ~LocalPointer() {
244
101k
        delete LocalPointerBase<T>::ptr;
245
101k
    }
icu_79::LocalPointer<icu_79::Hashtable>::~LocalPointer()
Line
Count
Source
243
29.7k
    ~LocalPointer() {
244
29.7k
        delete LocalPointerBase<T>::ptr;
245
29.7k
    }
Unexecuted instantiation: listformatter.cpp:icu_79::LocalPointer<icu_79::(anonymous namespace)::PatternHandler>::~LocalPointer()
icu_79::LocalPointer<icu_79::FormattedListData>::~LocalPointer()
Line
Count
Source
243
24.1k
    ~LocalPointer() {
244
24.1k
        delete LocalPointerBase<T>::ptr;
245
24.1k
    }
icu_79::LocalPointer<icu_79::RuleBasedBreakIterator>::~LocalPointer()
Line
Count
Source
243
7.68k
    ~LocalPointer() {
244
7.68k
        delete LocalPointerBase<T>::ptr;
245
7.68k
    }
icu_79::LocalPointer<icu_79::Collator>::~LocalPointer()
Line
Count
Source
243
7.78k
    ~LocalPointer() {
244
7.78k
        delete LocalPointerBase<T>::ptr;
245
7.78k
    }
icu_79::LocalPointer<icu_79::DateFmtBestPattern>::~LocalPointer()
Line
Count
Source
243
12.7k
    ~LocalPointer() {
244
12.7k
        delete LocalPointerBase<T>::ptr;
245
12.7k
    }
icu_79::LocalPointer<icu_79::DateTimePatternGenerator>::~LocalPointer()
Line
Count
Source
243
55.1k
    ~LocalPointer() {
244
55.1k
        delete LocalPointerBase<T>::ptr;
245
55.1k
    }
icu_79::LocalPointer<icu_79::DateFormat>::~LocalPointer()
Line
Count
Source
243
63.5k
    ~LocalPointer() {
244
63.5k
        delete LocalPointerBase<T>::ptr;
245
63.5k
    }
icu_79::LocalPointer<icu_79::PtnElem>::~LocalPointer()
Line
Count
Source
243
4.25M
    ~LocalPointer() {
244
4.25M
        delete LocalPointerBase<T>::ptr;
245
4.25M
    }
icu_79::LocalPointer<icu_79::DateTimeMatcher>::~LocalPointer()
Line
Count
Source
243
50.6k
    ~LocalPointer() {
244
50.6k
        delete LocalPointerBase<T>::ptr;
245
50.6k
    }
icu_79::LocalPointer<icu_79::PtnSkeleton>::~LocalPointer()
Line
Count
Source
243
2.12M
    ~LocalPointer() {
244
2.12M
        delete LocalPointerBase<T>::ptr;
245
2.12M
    }
icu_79::LocalPointer<icu_79::Region>::~LocalPointer()
Line
Count
Source
243
784
    ~LocalPointer() {
244
784
        delete LocalPointerBase<T>::ptr;
245
784
    }
icu_79::LocalPointer<icu_79::SimpleDateFormat::NSOverride>::~LocalPointer()
Line
Count
Source
243
1.57k
    ~LocalPointer() {
244
1.57k
        delete LocalPointerBase<T>::ptr;
245
1.57k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::Format>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LocalizedNumberFormatterAsFormat>::~LocalPointer()
icu_79::LocalPointer<icu_79::RuleBasedCollator>::~LocalPointer()
Line
Count
Source
243
7.22k
    ~LocalPointer() {
244
7.22k
        delete LocalPointerBase<T>::ptr;
245
7.22k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::StaticErrors>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::StandardFunctions::Number>::~LocalPointer()
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::Environment>::~LocalPointer()
246
    /**
247
     * Move assignment operator, leaves src with isNull().
248
     * The behavior is undefined if *this and src are the same object.
249
     * @param src source smart pointer
250
     * @return *this
251
     * @stable ICU 56
252
     */
253
1.24M
    LocalPointer<T> &operator=(LocalPointer<T> &&src) noexcept {
254
1.24M
        delete LocalPointerBase<T>::ptr;
255
1.24M
        LocalPointerBase<T>::ptr=src.ptr;
256
1.24M
        src.ptr=nullptr;
257
1.24M
        return *this;
258
1.24M
    }
icu_79::LocalPointer<icu_79::UVector32>::operator=(icu_79::LocalPointer<icu_79::UVector32>&&)
Line
Count
Source
253
638k
    LocalPointer<T> &operator=(LocalPointer<T> &&src) noexcept {
254
638k
        delete LocalPointerBase<T>::ptr;
255
638k
        LocalPointerBase<T>::ptr=src.ptr;
256
638k
        src.ptr=nullptr;
257
638k
        return *this;
258
638k
    }
icu_79::LocalPointer<icu_79::UVector>::operator=(icu_79::LocalPointer<icu_79::UVector>&&)
Line
Count
Source
253
285
    LocalPointer<T> &operator=(LocalPointer<T> &&src) noexcept {
254
285
        delete LocalPointerBase<T>::ptr;
255
285
        LocalPointerBase<T>::ptr=src.ptr;
256
285
        src.ptr=nullptr;
257
285
        return *this;
258
285
    }
icu_79::LocalPointer<icu_79::UnicodeSet const>::operator=(icu_79::LocalPointer<icu_79::UnicodeSet const>&&)
Line
Count
Source
253
606k
    LocalPointer<T> &operator=(LocalPointer<T> &&src) noexcept {
254
606k
        delete LocalPointerBase<T>::ptr;
255
606k
        LocalPointerBase<T>::ptr=src.ptr;
256
606k
        src.ptr=nullptr;
257
606k
        return *this;
258
606k
    }
259
260
    /**
261
     * Move-assign from an std::unique_ptr to this LocalPointer.
262
     * Steals the pointer from the std::unique_ptr.
263
     *
264
     * @param p The std::unique_ptr from which the pointer will be stolen.
265
     * @return *this
266
     * @stable ICU 64
267
     */
268
    LocalPointer<T> &operator=(std::unique_ptr<T> &&p) noexcept {
269
        adoptInstead(p.release());
270
        return *this;
271
    }
272
273
    /**
274
     * Swap pointers.
275
     * @param other other smart pointer
276
     * @stable ICU 56
277
     */
278
    void swap(LocalPointer<T> &other) noexcept {
279
        T *temp=LocalPointerBase<T>::ptr;
280
        LocalPointerBase<T>::ptr=other.ptr;
281
        other.ptr=temp;
282
    }
283
    /**
284
     * Non-member LocalPointer swap function.
285
     * @param p1 will get p2's pointer
286
     * @param p2 will get p1's pointer
287
     * @stable ICU 56
288
     */
289
    friend inline void swap(LocalPointer<T> &p1, LocalPointer<T> &p2) noexcept {
290
        p1.swap(p2);
291
    }
292
    /**
293
     * Deletes the object it owns,
294
     * and adopts (takes ownership of) the one passed in.
295
     * @param p simple pointer to an object that is adopted
296
     * @stable ICU 4.4
297
     */
298
4.51M
    void adoptInstead(T *p) {
299
4.51M
        delete LocalPointerBase<T>::ptr;
300
4.51M
        LocalPointerBase<T>::ptr=p;
301
4.51M
    }
icu_79::LocalPointer<icu_79::UCharsTrie>::adoptInstead(icu_79::UCharsTrie*)
Line
Count
Source
298
72
    void adoptInstead(T *p) {
299
72
        delete LocalPointerBase<T>::ptr;
300
72
        LocalPointerBase<T>::ptr=p;
301
72
    }
icu_79::LocalPointer<icu_79::BreakIterator>::adoptInstead(icu_79::BreakIterator*)
Line
Count
Source
298
4.80k
    void adoptInstead(T *p) {
299
4.80k
        delete LocalPointerBase<T>::ptr;
300
4.80k
        LocalPointerBase<T>::ptr=p;
301
4.80k
    }
icu_79::LocalPointer<icu_79::StringEnumeration>::adoptInstead(icu_79::StringEnumeration*)
Line
Count
Source
298
5.73k
    void adoptInstead(T *p) {
299
5.73k
        delete LocalPointerBase<T>::ptr;
300
5.73k
        LocalPointerBase<T>::ptr=p;
301
5.73k
    }
icu_79::LocalPointer<icu_79::CurrencyPluralInfo>::adoptInstead(icu_79::CurrencyPluralInfo*)
Line
Count
Source
298
777k
    void adoptInstead(T *p) {
299
777k
        delete LocalPointerBase<T>::ptr;
300
777k
        LocalPointerBase<T>::ptr=p;
301
777k
    }
icu_79::LocalPointer<icu_79::UVector>::adoptInstead(icu_79::UVector*)
Line
Count
Source
298
23.3k
    void adoptInstead(T *p) {
299
23.3k
        delete LocalPointerBase<T>::ptr;
300
23.3k
        LocalPointerBase<T>::ptr=p;
301
23.3k
    }
icu_79::LocalPointer<icu_79::NumberingSystem>::adoptInstead(icu_79::NumberingSystem*)
Line
Count
Source
298
381k
    void adoptInstead(T *p) {
299
381k
        delete LocalPointerBase<T>::ptr;
300
381k
        LocalPointerBase<T>::ptr=p;
301
381k
    }
icu_79::LocalPointer<icu_79::NumberFormat>::adoptInstead(icu_79::NumberFormat*)
Line
Count
Source
298
47.0k
    void adoptInstead(T *p) {
299
47.0k
        delete LocalPointerBase<T>::ptr;
300
47.0k
        LocalPointerBase<T>::ptr=p;
301
47.0k
    }
icu_79::LocalPointer<icu_79::PluralRules>::adoptInstead(icu_79::PluralRules*)
Line
Count
Source
298
4.01k
    void adoptInstead(T *p) {
299
4.01k
        delete LocalPointerBase<T>::ptr;
300
4.01k
        LocalPointerBase<T>::ptr=p;
301
4.01k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::AnnualTimeZoneRule>::adoptInstead(icu_79::AnnualTimeZoneRule*)
icu_79::LocalPointer<icu_79::DecimalFormatSymbols const>::adoptInstead(icu_79::DecimalFormatSymbols const*)
Line
Count
Source
298
856k
    void adoptInstead(T *p) {
299
856k
        delete LocalPointerBase<T>::ptr;
300
856k
        LocalPointerBase<T>::ptr=p;
301
856k
    }
icu_79::LocalPointer<icu_79::NFRule>::adoptInstead(icu_79::NFRule*)
Line
Count
Source
298
688k
    void adoptInstead(T *p) {
299
688k
        delete LocalPointerBase<T>::ptr;
300
688k
        LocalPointerBase<T>::ptr=p;
301
688k
    }
icu_79::LocalPointer<icu_79::NumberingSystem const>::adoptInstead(icu_79::NumberingSystem const*)
Line
Count
Source
298
11.4k
    void adoptInstead(T *p) {
299
11.4k
        delete LocalPointerBase<T>::ptr;
300
11.4k
        LocalPointerBase<T>::ptr=p;
301
11.4k
    }
icu_79::LocalPointer<icu_79::number::impl::ParsedPatternInfo const>::adoptInstead(icu_79::number::impl::ParsedPatternInfo const*)
Line
Count
Source
298
11.4k
    void adoptInstead(T *p) {
299
11.4k
        delete LocalPointerBase<T>::ptr;
300
11.4k
        LocalPointerBase<T>::ptr=p;
301
11.4k
    }
icu_79::LocalPointer<icu_79::number::impl::ScientificHandler const>::adoptInstead(icu_79::number::impl::ScientificHandler const*)
Line
Count
Source
298
170
    void adoptInstead(T *p) {
299
170
        delete LocalPointerBase<T>::ptr;
300
170
        LocalPointerBase<T>::ptr=p;
301
170
    }
icu_79::LocalPointer<icu_79::number::impl::MutablePatternModifier>::adoptInstead(icu_79::number::impl::MutablePatternModifier*)
Line
Count
Source
298
11.3k
    void adoptInstead(T *p) {
299
11.3k
        delete LocalPointerBase<T>::ptr;
300
11.3k
        LocalPointerBase<T>::ptr=p;
301
11.3k
    }
icu_79::LocalPointer<icu_79::number::impl::CompactHandler const>::adoptInstead(icu_79::number::impl::CompactHandler const*)
Line
Count
Source
298
3.29k
    void adoptInstead(T *p) {
299
3.29k
        delete LocalPointerBase<T>::ptr;
300
3.29k
        LocalPointerBase<T>::ptr=p;
301
3.29k
    }
icu_79::LocalPointer<icu_79::PluralRules const>::adoptInstead(icu_79::PluralRules const*)
Line
Count
Source
298
3.29k
    void adoptInstead(T *p) {
299
3.29k
        delete LocalPointerBase<T>::ptr;
300
3.29k
        LocalPointerBase<T>::ptr=p;
301
3.29k
    }
icu_79::LocalPointer<icu_79::UnicodeSet const>::adoptInstead(icu_79::UnicodeSet const*)
Line
Count
Source
298
6.75k
    void adoptInstead(T *p) {
299
6.75k
        delete LocalPointerBase<T>::ptr;
300
6.75k
        LocalPointerBase<T>::ptr=p;
301
6.75k
    }
icu_79::LocalPointer<icu_79::Collator>::adoptInstead(icu_79::Collator*)
Line
Count
Source
298
7.78k
    void adoptInstead(T *p) {
299
7.78k
        delete LocalPointerBase<T>::ptr;
300
7.78k
        LocalPointerBase<T>::ptr=p;
301
7.78k
    }
icu_79::LocalPointer<icu_79::PtnElem>::adoptInstead(icu_79::PtnElem*)
Line
Count
Source
298
1.60M
    void adoptInstead(T *p) {
299
1.60M
        delete LocalPointerBase<T>::ptr;
300
1.60M
        LocalPointerBase<T>::ptr=p;
301
1.60M
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::DecimalFormat>::adoptInstead(icu_79::DecimalFormat*)
icu_79::LocalPointer<icu_79::DateTimePatternGenerator>::adoptInstead(icu_79::DateTimePatternGenerator*)
Line
Count
Source
298
7.44k
    void adoptInstead(T *p) {
299
7.44k
        delete LocalPointerBase<T>::ptr;
300
7.44k
        LocalPointerBase<T>::ptr=p;
301
7.44k
    }
icu_79::LocalPointer<icu_79::UnicodeSet>::adoptInstead(icu_79::UnicodeSet*)
Line
Count
Source
298
57.6k
    void adoptInstead(T *p) {
299
57.6k
        delete LocalPointerBase<T>::ptr;
300
57.6k
        LocalPointerBase<T>::ptr=p;
301
57.6k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::message2::StandardFunctions::Number>::adoptInstead(icu_79::message2::StandardFunctions::Number*)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::DateFormat>::adoptInstead(icu_79::DateFormat*)
icu_79::LocalPointer<icu_79::TimeZone>::adoptInstead(icu_79::TimeZone*)
Line
Count
Source
298
2.56k
    void adoptInstead(T *p) {
299
2.56k
        delete LocalPointerBase<T>::ptr;
300
2.56k
        LocalPointerBase<T>::ptr=p;
301
2.56k
    }
302
    /**
303
     * Deletes the object it owns,
304
     * and adopts (takes ownership of) the one passed in.
305
     *
306
     * If U_FAILURE(errorCode), then the current object is retained and the new one deleted.
307
     *
308
     * If U_SUCCESS(errorCode) but the input pointer is nullptr,
309
     * then U_MEMORY_ALLOCATION_ERROR is set,
310
     * the current object is deleted, and nullptr is set.
311
     *
312
     * @param p simple pointer to an object that is adopted
313
     * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
314
     *     if p==nullptr and no other failure code had been set
315
     * @stable ICU 55
316
     */
317
3.22M
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
3.22M
        if(U_SUCCESS(errorCode)) {
319
3.20M
            delete LocalPointerBase<T>::ptr;
320
3.20M
            LocalPointerBase<T>::ptr=p;
321
3.20M
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
3.20M
        } else {
325
16.1k
            delete p;
326
16.1k
        }
327
3.22M
    }
icu_79::LocalPointer<icu_79::UnicodeSet>::adoptInsteadAndCheckErrorCode(icu_79::UnicodeSet*, UErrorCode&)
Line
Count
Source
317
97.2k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
97.2k
        if(U_SUCCESS(errorCode)) {
319
81.2k
            delete LocalPointerBase<T>::ptr;
320
81.2k
            LocalPointerBase<T>::ptr=p;
321
81.2k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
81.2k
        } else {
325
16.0k
            delete p;
326
16.0k
        }
327
97.2k
    }
icu_79::LocalPointer<icu_79::CharString>::adoptInsteadAndCheckErrorCode(icu_79::CharString*, UErrorCode&)
Line
Count
Source
317
293
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
293
        if(U_SUCCESS(errorCode)) {
319
293
            delete LocalPointerBase<T>::ptr;
320
293
            LocalPointerBase<T>::ptr=p;
321
293
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
293
        } else {
325
0
            delete p;
326
0
        }
327
293
    }
icu_79::LocalPointer<icu_79::UVector>::adoptInsteadAndCheckErrorCode(icu_79::UVector*, UErrorCode&)
Line
Count
Source
317
936
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
936
        if(U_SUCCESS(errorCode)) {
319
936
            delete LocalPointerBase<T>::ptr;
320
936
            LocalPointerBase<T>::ptr=p;
321
936
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
936
        } else {
325
0
            delete p;
326
0
        }
327
936
    }
uloc_tag.cpp:icu_79::LocalPointer<(anonymous namespace)::ExtensionListEntry>::adoptInsteadAndCheckErrorCode((anonymous namespace)::ExtensionListEntry*, UErrorCode&)
Line
Count
Source
317
81.3k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
81.3k
        if(U_SUCCESS(errorCode)) {
319
81.3k
            delete LocalPointerBase<T>::ptr;
320
81.3k
            LocalPointerBase<T>::ptr=p;
321
81.3k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
81.3k
        } else {
325
0
            delete p;
326
0
        }
327
81.3k
    }
icu_79::LocalPointer<icu_79::UVector32>::adoptInsteadAndCheckErrorCode(icu_79::UVector32*, UErrorCode&)
Line
Count
Source
317
254k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
254k
        if(U_SUCCESS(errorCode)) {
319
254k
            delete LocalPointerBase<T>::ptr;
320
254k
            LocalPointerBase<T>::ptr=p;
321
254k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
254k
        } else {
325
0
            delete p;
326
0
        }
327
254k
    }
icu_79::LocalPointer<icu_79::Calendar>::adoptInsteadAndCheckErrorCode(icu_79::Calendar*, UErrorCode&)
Line
Count
Source
317
20.6k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
20.6k
        if(U_SUCCESS(errorCode)) {
319
20.6k
            delete LocalPointerBase<T>::ptr;
320
20.6k
            LocalPointerBase<T>::ptr=p;
321
20.6k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
20.6k
        } else {
325
0
            delete p;
326
0
        }
327
20.6k
    }
icu_79::LocalPointer<icu_79::DecimalFormatSymbols>::adoptInsteadAndCheckErrorCode(icu_79::DecimalFormatSymbols*, UErrorCode&)
Line
Count
Source
317
47.1k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
47.1k
        if(U_SUCCESS(errorCode)) {
319
47.0k
            delete LocalPointerBase<T>::ptr;
320
47.0k
            LocalPointerBase<T>::ptr=p;
321
47.0k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
47.0k
        } else {
325
55
            delete p;
326
55
        }
327
47.1k
    }
icu_79::LocalPointer<icu_79::MetaZoneIDsEnumeration>::adoptInsteadAndCheckErrorCode(icu_79::MetaZoneIDsEnumeration*, UErrorCode&)
Line
Count
Source
317
63.2k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
63.2k
        if(U_SUCCESS(errorCode)) {
319
63.2k
            delete LocalPointerBase<T>::ptr;
320
63.2k
            LocalPointerBase<T>::ptr=p;
321
63.2k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
63.2k
        } else {
325
0
            delete p;
326
0
        }
327
63.2k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::UnicodeString>::adoptInsteadAndCheckErrorCode(icu_79::UnicodeString*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::TimeZoneRule>::adoptInsteadAndCheckErrorCode(icu_79::TimeZoneRule*, UErrorCode&)
icu_79::LocalPointer<icu_79::DecimalFormatSymbols const>::adoptInsteadAndCheckErrorCode(icu_79::DecimalFormatSymbols const*, UErrorCode&)
Line
Count
Source
317
480k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
480k
        if(U_SUCCESS(errorCode)) {
319
480k
            delete LocalPointerBase<T>::ptr;
320
480k
            LocalPointerBase<T>::ptr=p;
321
480k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
480k
        } else {
325
0
            delete p;
326
0
        }
327
480k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::PluralRules>::adoptInsteadAndCheckErrorCode(icu_79::PluralRules*, UErrorCode&)
icu_79::LocalPointer<icu_79::number::impl::UsagePrefsHandler const>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::UsagePrefsHandler const*, UErrorCode&)
Line
Count
Source
317
100
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
100
        if(U_SUCCESS(errorCode)) {
319
0
            delete LocalPointerBase<T>::ptr;
320
0
            LocalPointerBase<T>::ptr=p;
321
0
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
100
        } else {
325
100
            delete p;
326
100
        }
327
100
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::UnitConversionHandler const>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::UnitConversionHandler const*, UErrorCode&)
icu_79::LocalPointer<icu_79::number::impl::ImmutablePatternModifier>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::ImmutablePatternModifier*, UErrorCode&)
Line
Count
Source
317
565
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
565
        if(U_SUCCESS(errorCode)) {
319
565
            delete LocalPointerBase<T>::ptr;
320
565
            LocalPointerBase<T>::ptr=p;
321
565
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
565
        } else {
325
0
            delete p;
326
0
        }
327
565
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::LongNameMultiplexer const>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::LongNameMultiplexer const*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::number::impl::MixedUnitLongNameHandler>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::MixedUnitLongNameHandler*, UErrorCode&)
icu_79::LocalPointer<icu_79::number::impl::LongNameHandler>::adoptInsteadAndCheckErrorCode(icu_79::number::impl::LongNameHandler*, UErrorCode&)
Line
Count
Source
317
1.60k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
1.60k
        if(U_SUCCESS(errorCode)) {
319
1.60k
            delete LocalPointerBase<T>::ptr;
320
1.60k
            LocalPointerBase<T>::ptr=p;
321
1.60k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
1.60k
        } else {
325
0
            delete p;
326
0
        }
327
1.60k
    }
Unexecuted instantiation: icu_79::LocalPointer<icu_79::ListFormatter>::adoptInsteadAndCheckErrorCode(icu_79::ListFormatter*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalPointer<icu_79::units::ComplexUnitsConverter>::adoptInsteadAndCheckErrorCode(icu_79::units::ComplexUnitsConverter*, UErrorCode&)
icu_79::LocalPointer<icu_79::PtnSkeleton>::adoptInsteadAndCheckErrorCode(icu_79::PtnSkeleton*, UErrorCode&)
Line
Count
Source
317
2.12M
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
2.12M
        if(U_SUCCESS(errorCode)) {
319
2.12M
            delete LocalPointerBase<T>::ptr;
320
2.12M
            LocalPointerBase<T>::ptr=p;
321
2.12M
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
2.12M
        } else {
325
0
            delete p;
326
0
        }
327
2.12M
    }
icu_79::LocalPointer<icu_79::DateTimeMatcher>::adoptInsteadAndCheckErrorCode(icu_79::DateTimeMatcher*, UErrorCode&)
Line
Count
Source
317
50.6k
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
318
50.6k
        if(U_SUCCESS(errorCode)) {
319
50.6k
            delete LocalPointerBase<T>::ptr;
320
50.6k
            LocalPointerBase<T>::ptr=p;
321
50.6k
            if(p==nullptr) {
322
0
                errorCode=U_MEMORY_ALLOCATION_ERROR;
323
0
            }
324
50.6k
        } else {
325
0
            delete p;
326
0
        }
327
50.6k
    }
328
329
    /**
330
     * Conversion operator to a C++11 std::unique_ptr.
331
     * Disowns the object and gives it to the returned std::unique_ptr.
332
     *
333
     * This operator works via move semantics. If your LocalPointer is
334
     * in a local variable, you must use std::move.
335
     *
336
     * @return An std::unique_ptr owning the pointer previously owned by this
337
     *         icu::LocalPointer.
338
     * @stable ICU 64
339
     */
340
    operator std::unique_ptr<T> () && {
341
        return std::unique_ptr<T>(LocalPointerBase<T>::orphan());
342
    }
343
};
344
345
/**
346
 * "Smart pointer" class, deletes objects via the C++ array delete[] operator.
347
 * For most methods see the LocalPointerBase base class.
348
 * Adds operator[] for array item access.
349
 *
350
 * Usage example:
351
 * \code
352
 * LocalArray<UnicodeString> a(new UnicodeString[2]);
353
 * a[0].append((char16_t)0x61);
354
 * if(some condition) { return; }  // no need to explicitly delete the array
355
 * a.adoptInstead(new UnicodeString[4]);
356
 * a[3].append((char16_t)0x62).append((char16_t)0x63).reverse();
357
 * // no need to explicitly delete the array
358
 * \endcode
359
 *
360
 * @see LocalPointerBase
361
 * @stable ICU 4.4
362
 */
363
template<typename T>
364
class LocalArray : public LocalPointerBase<T> {
365
public:
366
    using LocalPointerBase<T>::operator*;
367
    using LocalPointerBase<T>::operator->;
368
    /**
369
     * Constructor takes ownership.
370
     * @param p simple pointer to an array of T objects that is adopted
371
     * @stable ICU 4.4
372
     */
373
1.46M
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalArray<icu_79::UnicodeString>::LocalArray(icu_79::UnicodeString*)
Line
Count
Source
373
193
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalArray<icu_79::MeasureUnit>::LocalArray(icu_79::MeasureUnit*)
icu_79::LocalArray<icu_79::UnicodeString const>::LocalArray(icu_79::UnicodeString const*)
Line
Count
Source
373
404k
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalArray<icu_79::Formattable>::LocalArray(icu_79::Formattable*)
icu_79::LocalArray<icu_79::message2::data_model::Option>::LocalArray(icu_79::message2::data_model::Option*)
Line
Count
Source
373
954k
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalArray<icu_79::message2::data_model::Key>::LocalArray(icu_79::message2::data_model::Key*)
Line
Count
Source
373
1.71k
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
icu_79::LocalArray<icu_79::message2::data_model::PatternPart>::LocalArray(icu_79::message2::data_model::PatternPart*)
Line
Count
Source
373
86.1k
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Variant>::LocalArray(icu_79::message2::data_model::Variant*)
icu_79::LocalArray<icu_79::message2::data_model::Binding>::LocalArray(icu_79::message2::data_model::Binding*)
Line
Count
Source
373
21.5k
    explicit LocalArray(T *p=nullptr) : LocalPointerBase<T>(p) {}
374
    /**
375
     * Constructor takes ownership and reports an error if nullptr.
376
     *
377
     * This constructor is intended to be used with other-class constructors
378
     * that may report a failure UErrorCode,
379
     * so that callers need to check only for U_FAILURE(errorCode)
380
     * and not also separately for isNull().
381
     *
382
     * @param p simple pointer to an array of T objects that is adopted
383
     * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
384
     *     if p==nullptr and no other failure code had been set
385
     * @stable ICU 56
386
     */
387
253k
    LocalArray(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
388
253k
        if(p==nullptr && U_SUCCESS(errorCode)) {
389
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
390
0
        }
391
253k
    }
icu_79::LocalArray<icu_79::UnicodeString>::LocalArray(icu_79::UnicodeString*, UErrorCode&)
Line
Count
Source
387
253k
    LocalArray(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
388
253k
        if(p==nullptr && U_SUCCESS(errorCode)) {
389
0
            errorCode=U_MEMORY_ALLOCATION_ERROR;
390
0
        }
391
253k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::MeasureUnit>::LocalArray(icu_79::MeasureUnit*, UErrorCode&)
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Variant>::LocalArray(icu_79::message2::data_model::Variant*, UErrorCode&)
392
    /**
393
     * Move constructor, leaves src with isNull().
394
     * @param src source smart pointer
395
     * @stable ICU 56
396
     */
397
    LocalArray(LocalArray<T> &&src) noexcept : LocalPointerBase<T>(src.ptr) {
398
        src.ptr=nullptr;
399
    }
400
401
    /**
402
     * Constructs a LocalArray from a C++11 std::unique_ptr of an array type.
403
     * The LocalPointer steals the array owned by the std::unique_ptr.
404
     *
405
     * This constructor works via move semantics. If your std::unique_ptr is
406
     * in a local variable, you must use std::move.
407
     *
408
     * @param p The std::unique_ptr from which the array will be stolen.
409
     * @stable ICU 64
410
     */
411
    explicit LocalArray(std::unique_ptr<T[]> &&p)
412
        : LocalPointerBase<T>(p.release()) {}
413
414
    /**
415
     * Destructor deletes the array it owns.
416
     * @stable ICU 4.4
417
     */
418
1.72M
    ~LocalArray() {
419
1.72M
        delete[] LocalPointerBase<T>::ptr;
420
1.72M
    }
icu_79::LocalArray<icu_79::UnicodeString>::~LocalArray()
Line
Count
Source
418
253k
    ~LocalArray() {
419
253k
        delete[] LocalPointerBase<T>::ptr;
420
253k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::MeasureUnit>::~LocalArray()
icu_79::LocalArray<icu_79::UnicodeString const>::~LocalArray()
Line
Count
Source
418
404k
    ~LocalArray() {
419
404k
        delete[] LocalPointerBase<T>::ptr;
420
404k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::Formattable>::~LocalArray()
icu_79::LocalArray<icu_79::message2::data_model::Key>::~LocalArray()
Line
Count
Source
418
1.71k
    ~LocalArray() {
419
1.71k
        delete[] LocalPointerBase<T>::ptr;
420
1.71k
    }
icu_79::LocalArray<icu_79::message2::data_model::Option>::~LocalArray()
Line
Count
Source
418
954k
    ~LocalArray() {
419
954k
        delete[] LocalPointerBase<T>::ptr;
420
954k
    }
icu_79::LocalArray<icu_79::message2::data_model::PatternPart>::~LocalArray()
Line
Count
Source
418
86.1k
    ~LocalArray() {
419
86.1k
        delete[] LocalPointerBase<T>::ptr;
420
86.1k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Variant>::~LocalArray()
icu_79::LocalArray<icu_79::message2::data_model::Binding>::~LocalArray()
Line
Count
Source
418
21.5k
    ~LocalArray() {
419
21.5k
        delete[] LocalPointerBase<T>::ptr;
420
21.5k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::Formattable>::~LocalArray()
421
    /**
422
     * Move assignment operator, leaves src with isNull().
423
     * The behavior is undefined if *this and src are the same object.
424
     * @param src source smart pointer
425
     * @return *this
426
     * @stable ICU 56
427
     */
428
202k
    LocalArray<T> &operator=(LocalArray<T> &&src) noexcept {
429
202k
        delete[] LocalPointerBase<T>::ptr;
430
202k
        LocalPointerBase<T>::ptr=src.ptr;
431
202k
        src.ptr=nullptr;
432
202k
        return *this;
433
202k
    }
icu_79::LocalArray<icu_79::UnicodeString const>::operator=(icu_79::LocalArray<icu_79::UnicodeString const>&&)
Line
Count
Source
428
202k
    LocalArray<T> &operator=(LocalArray<T> &&src) noexcept {
429
202k
        delete[] LocalPointerBase<T>::ptr;
430
202k
        LocalPointerBase<T>::ptr=src.ptr;
431
202k
        src.ptr=nullptr;
432
202k
        return *this;
433
202k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::UnicodeString>::operator=(icu_79::LocalArray<icu_79::UnicodeString>&&)
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::Formattable>::operator=(icu_79::LocalArray<icu_79::message2::Formattable>&&)
434
435
    /**
436
     * Move-assign from an std::unique_ptr to this LocalPointer.
437
     * Steals the array from the std::unique_ptr.
438
     *
439
     * @param p The std::unique_ptr from which the array will be stolen.
440
     * @return *this
441
     * @stable ICU 64
442
     */
443
    LocalArray<T> &operator=(std::unique_ptr<T[]> &&p) noexcept {
444
        adoptInstead(p.release());
445
        return *this;
446
    }
447
448
    /**
449
     * Swap pointers.
450
     * @param other other smart pointer
451
     * @stable ICU 56
452
     */
453
179k
    void swap(LocalArray<T> &other) noexcept {
454
179k
        T *temp=LocalPointerBase<T>::ptr;
455
179k
        LocalPointerBase<T>::ptr=other.ptr;
456
179k
        other.ptr=temp;
457
179k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Key>::swap(icu_79::LocalArray<icu_79::message2::data_model::Key>&)
icu_79::LocalArray<icu_79::message2::data_model::Option>::swap(icu_79::LocalArray<icu_79::message2::data_model::Option>&)
Line
Count
Source
453
158k
    void swap(LocalArray<T> &other) noexcept {
454
158k
        T *temp=LocalPointerBase<T>::ptr;
455
158k
        LocalPointerBase<T>::ptr=other.ptr;
456
158k
        other.ptr=temp;
457
158k
    }
icu_79::LocalArray<icu_79::message2::data_model::PatternPart>::swap(icu_79::LocalArray<icu_79::message2::data_model::PatternPart>&)
Line
Count
Source
453
14.2k
    void swap(LocalArray<T> &other) noexcept {
454
14.2k
        T *temp=LocalPointerBase<T>::ptr;
455
14.2k
        LocalPointerBase<T>::ptr=other.ptr;
456
14.2k
        other.ptr=temp;
457
14.2k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::UnicodeString>::swap(icu_79::LocalArray<icu_79::UnicodeString>&)
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Variant>::swap(icu_79::LocalArray<icu_79::message2::data_model::Variant>&)
icu_79::LocalArray<icu_79::message2::data_model::Binding>::swap(icu_79::LocalArray<icu_79::message2::data_model::Binding>&)
Line
Count
Source
453
7.51k
    void swap(LocalArray<T> &other) noexcept {
454
7.51k
        T *temp=LocalPointerBase<T>::ptr;
455
7.51k
        LocalPointerBase<T>::ptr=other.ptr;
456
7.51k
        other.ptr=temp;
457
7.51k
    }
458
    /**
459
     * Non-member LocalArray swap function.
460
     * @param p1 will get p2's pointer
461
     * @param p2 will get p1's pointer
462
     * @stable ICU 56
463
     */
464
179k
    friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) noexcept {
465
179k
        p1.swap(p2);
466
179k
    }
Unexecuted instantiation: icu_79::swap(icu_79::LocalArray<icu_79::message2::data_model::Key>&, icu_79::LocalArray<icu_79::message2::data_model::Key>&)
icu_79::swap(icu_79::LocalArray<icu_79::message2::data_model::Option>&, icu_79::LocalArray<icu_79::message2::data_model::Option>&)
Line
Count
Source
464
158k
    friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) noexcept {
465
158k
        p1.swap(p2);
466
158k
    }
icu_79::swap(icu_79::LocalArray<icu_79::message2::data_model::PatternPart>&, icu_79::LocalArray<icu_79::message2::data_model::PatternPart>&)
Line
Count
Source
464
14.2k
    friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) noexcept {
465
14.2k
        p1.swap(p2);
466
14.2k
    }
Unexecuted instantiation: icu_79::swap(icu_79::LocalArray<icu_79::UnicodeString>&, icu_79::LocalArray<icu_79::UnicodeString>&)
Unexecuted instantiation: icu_79::swap(icu_79::LocalArray<icu_79::message2::data_model::Variant>&, icu_79::LocalArray<icu_79::message2::data_model::Variant>&)
icu_79::swap(icu_79::LocalArray<icu_79::message2::data_model::Binding>&, icu_79::LocalArray<icu_79::message2::data_model::Binding>&)
Line
Count
Source
464
7.51k
    friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) noexcept {
465
7.51k
        p1.swap(p2);
466
7.51k
    }
467
    /**
468
     * Deletes the array it owns,
469
     * and adopts (takes ownership of) the one passed in.
470
     * @param p simple pointer to an array of T objects that is adopted
471
     * @stable ICU 4.4
472
     */
473
316k
    void adoptInstead(T *p) {
474
316k
        delete[] LocalPointerBase<T>::ptr;
475
316k
        LocalPointerBase<T>::ptr=p;
476
316k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::UnicodeString>::adoptInstead(icu_79::UnicodeString*)
Unexecuted instantiation: icu_79::LocalArray<icu_79::MeasureUnit>::adoptInstead(icu_79::MeasureUnit*)
Unexecuted instantiation: icu_79::LocalArray<icu_79::UnicodeString const>::adoptInstead(icu_79::UnicodeString const*)
icu_79::LocalArray<icu_79::message2::data_model::Key>::adoptInstead(icu_79::message2::data_model::Key*)
Line
Count
Source
473
872
    void adoptInstead(T *p) {
474
872
        delete[] LocalPointerBase<T>::ptr;
475
872
        LocalPointerBase<T>::ptr=p;
476
872
    }
icu_79::LocalArray<icu_79::message2::data_model::Option>::adoptInstead(icu_79::message2::data_model::Option*)
Line
Count
Source
473
280k
    void adoptInstead(T *p) {
474
280k
        delete[] LocalPointerBase<T>::ptr;
475
280k
        LocalPointerBase<T>::ptr=p;
476
280k
    }
icu_79::LocalArray<icu_79::message2::data_model::PatternPart>::adoptInstead(icu_79::message2::data_model::PatternPart*)
Line
Count
Source
473
35.7k
    void adoptInstead(T *p) {
474
35.7k
        delete[] LocalPointerBase<T>::ptr;
475
35.7k
        LocalPointerBase<T>::ptr=p;
476
35.7k
    }
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Variant>::adoptInstead(icu_79::message2::data_model::Variant*)
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Binding>::adoptInstead(icu_79::message2::data_model::Binding*)
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::Formattable>::adoptInstead(icu_79::message2::Formattable*)
477
    /**
478
     * Deletes the array it owns,
479
     * and adopts (takes ownership of) the one passed in.
480
     *
481
     * If U_FAILURE(errorCode), then the current array is retained and the new one deleted.
482
     *
483
     * If U_SUCCESS(errorCode) but the input pointer is nullptr,
484
     * then U_MEMORY_ALLOCATION_ERROR is set,
485
     * the current array is deleted, and nullptr is set.
486
     *
487
     * @param p simple pointer to an array of T objects that is adopted
488
     * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
489
     *     if p==nullptr and no other failure code had been set
490
     * @stable ICU 56
491
     */
492
    void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
493
        if(U_SUCCESS(errorCode)) {
494
            delete[] LocalPointerBase<T>::ptr;
495
            LocalPointerBase<T>::ptr=p;
496
            if(p==nullptr) {
497
                errorCode=U_MEMORY_ALLOCATION_ERROR;
498
            }
499
        } else {
500
            delete[] p;
501
        }
502
    }
503
    /**
504
     * Array item access (writable).
505
     * No index bounds check.
506
     * @param i array index
507
     * @return reference to the array item
508
     * @stable ICU 4.4
509
     */
510
377k
    T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
icu_79::LocalArray<icu_79::UnicodeString>::operator[](long) const
Line
Count
Source
510
377k
    T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
Unexecuted instantiation: icu_79::LocalArray<icu_79::MeasureUnit>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::UnicodeString const>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::Formattable>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::Formattable>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::PatternPart>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Key>::operator[](long) const
Unexecuted instantiation: icu_79::LocalArray<icu_79::message2::data_model::Option>::operator[](long) const
511
512
    /**
513
     * Conversion operator to a C++11 std::unique_ptr.
514
     * Disowns the object and gives it to the returned std::unique_ptr.
515
     *
516
     * This operator works via move semantics. If your LocalPointer is
517
     * in a local variable, you must use std::move.
518
     *
519
     * @return An std::unique_ptr owning the pointer previously owned by this
520
     *         icu::LocalPointer.
521
     * @stable ICU 64
522
     */
523
    operator std::unique_ptr<T[]> () && {
524
        return std::unique_ptr<T[]>(LocalPointerBase<T>::orphan());
525
    }
526
};
527
528
/**
529
 * \def U_DEFINE_LOCAL_OPEN_POINTER
530
 * "Smart pointer" definition macro, deletes objects via the closeFunction.
531
 * Defines a subclass of LocalPointerBase which works just
532
 * like LocalPointer<Type> except that this subclass will use the closeFunction
533
 * rather than the C++ delete operator.
534
 *
535
 * Usage example:
536
 * \code
537
 * LocalUCaseMapPointer csm(ucasemap_open(localeID, options, &errorCode));
538
 * utf8OutLength=ucasemap_utf8ToLower(csm.getAlias(),
539
 *     utf8Out, (int32_t)sizeof(utf8Out),
540
 *     utf8In, utf8InLength, &errorCode);
541
 * if(U_FAILURE(errorCode)) { return; }  // no need to explicitly delete the UCaseMap
542
 * \endcode
543
 *
544
 * @see LocalPointerBase
545
 * @see LocalPointer
546
 * @stable ICU 4.4
547
 */
548
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \
549
    using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
550
551
#ifndef U_IN_DOXYGEN
552
namespace internal {
553
/**
554
 * Implementation, do not use directly: use U_DEFINE_LOCAL_OPEN_POINTER.
555
 *
556
 * @see U_DEFINE_LOCAL_OPEN_POINTER
557
 * @internal
558
 */
559
template <typename Type, auto closeFunction>
560
class LocalOpenPointer : public LocalPointerBase<Type> {
561
    using LocalPointerBase<Type>::ptr;
562
public:
563
    using LocalPointerBase<Type>::operator*;
564
    using LocalPointerBase<Type>::operator->;
565
10.4M
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
icu_79::internal::LocalOpenPointer<UResourceBundle, &ures_close_79>::LocalOpenPointer(UResourceBundle*)
Line
Count
Source
565
9.89M
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
icu_79::internal::LocalOpenPointer<UText, &utext_close_79>::LocalOpenPointer(UText*)
Line
Count
Source
565
193
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
icu_79::internal::LocalOpenPointer<UHashtable, &uhash_close_79>::LocalOpenPointer(UHashtable*)
Line
Count
Source
565
539
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
icu_79::internal::LocalOpenPointer<UEnumeration, &uenum_close_79>::LocalOpenPointer(UEnumeration*)
Line
Count
Source
565
3.82k
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
uloc_tag.cpp:icu_79::internal::LocalOpenPointer<(anonymous namespace)::ULanguageTag, &(anonymous namespace)::ultag_close>::LocalOpenPointer((anonymous namespace)::ULanguageTag*)
Line
Count
Source
565
587k
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
icu_79::internal::LocalOpenPointer<UMutableCPTrie, &umutablecptrie_close_79>::LocalOpenPointer(UMutableCPTrie*)
Line
Count
Source
565
27
    explicit LocalOpenPointer(Type *p=nullptr) : LocalPointerBase<Type>(p) {}
566
    LocalOpenPointer(LocalOpenPointer &&src) noexcept
567
            : LocalPointerBase<Type>(src.ptr) {
568
        src.ptr=nullptr;
569
    }
570
    /* TODO: Be agnostic of the deleter function signature from the user-provided std::unique_ptr? */
571
    explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
572
            : LocalPointerBase<Type>(p.release()) {}
573
10.4M
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
icu_79::internal::LocalOpenPointer<UResourceBundle, &ures_close_79>::~LocalOpenPointer()
Line
Count
Source
573
9.89M
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
icu_79::internal::LocalOpenPointer<UText, &utext_close_79>::~LocalOpenPointer()
Line
Count
Source
573
193
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
icu_79::internal::LocalOpenPointer<UHashtable, &uhash_close_79>::~LocalOpenPointer()
Line
Count
Source
573
21
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
icu_79::internal::LocalOpenPointer<UEnumeration, &uenum_close_79>::~LocalOpenPointer()
Line
Count
Source
573
3.82k
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
uloc_tag.cpp:icu_79::internal::LocalOpenPointer<(anonymous namespace)::ULanguageTag, &(anonymous namespace)::ultag_close>::~LocalOpenPointer()
Line
Count
Source
573
587k
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
icu_79::internal::LocalOpenPointer<UMutableCPTrie, &umutablecptrie_close_79>::~LocalOpenPointer()
Line
Count
Source
573
27
    ~LocalOpenPointer() { if (ptr != nullptr) { closeFunction(ptr); } }
574
    LocalOpenPointer &operator=(LocalOpenPointer &&src) noexcept {
575
        if (ptr != nullptr) { closeFunction(ptr); }
576
        LocalPointerBase<Type>::ptr=src.ptr;
577
        src.ptr=nullptr;
578
        return *this;
579
    }
580
    /* TODO: Be agnostic of the deleter function signature from the user-provided std::unique_ptr? */
581
    LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
582
        adoptInstead(p.release());
583
        return *this;
584
    }
585
    void swap(LocalOpenPointer &other) noexcept {
586
        Type *temp=LocalPointerBase<Type>::ptr;
587
        LocalPointerBase<Type>::ptr=other.ptr;
588
        other.ptr=temp;
589
    }
590
    friend inline void swap(LocalOpenPointer &p1, LocalOpenPointer &p2) noexcept {
591
        p1.swap(p2);
592
    }
593
1.46M
    void adoptInstead(Type *p) {
594
1.46M
        if (ptr != nullptr) { closeFunction(ptr); }
595
1.46M
        ptr=p;
596
1.46M
    }
Unexecuted instantiation: icu_79::internal::LocalOpenPointer<UText, &utext_close_79>::adoptInstead(UText*)
icu_79::internal::LocalOpenPointer<UResourceBundle, &ures_close_79>::adoptInstead(UResourceBundle*)
Line
Count
Source
593
1.46M
    void adoptInstead(Type *p) {
594
1.46M
        if (ptr != nullptr) { closeFunction(ptr); }
595
1.46M
        ptr=p;
596
1.46M
    }
icu_79::internal::LocalOpenPointer<UHashtable, &uhash_close_79>::adoptInstead(UHashtable*)
Line
Count
Source
593
518
    void adoptInstead(Type *p) {
594
518
        if (ptr != nullptr) { closeFunction(ptr); }
595
518
        ptr=p;
596
518
    }
Unexecuted instantiation: icu_79::internal::LocalOpenPointer<UEnumeration, &uenum_close_79>::adoptInstead(UEnumeration*)
597
    operator std::unique_ptr<Type, decltype(closeFunction)> () && {
598
        return std::unique_ptr<Type, decltype(closeFunction)>(LocalPointerBase<Type>::orphan(), closeFunction);
599
    }
600
};
601
}  // namespace internal
602
#endif
603
604
U_NAMESPACE_END
605
606
#endif  /* U_SHOW_CPLUSPLUS_API */
607
#endif  /* __LOCALPOINTER_H__ */