Coverage Report

Created: 2025-10-24 06:54

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/icu/icu4c/source/i18n/sharednumberformat.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
* Copyright (C) 2014, International Business Machines
6
* Corporation and others.  All Rights Reserved.
7
******************************************************************************
8
* sharednumberformat.h
9
*/
10
11
#ifndef __SHARED_NUMBERFORMAT_H__
12
#define __SHARED_NUMBERFORMAT_H__
13
14
#include "unicode/utypes.h"
15
#include "sharedobject.h"
16
#include "unifiedcache.h"
17
18
U_NAMESPACE_BEGIN
19
20
class NumberFormat;
21
22
class U_I18N_API SharedNumberFormat : public SharedObject {
23
public:
24
12.4k
    SharedNumberFormat(NumberFormat *nfToAdopt) : ptr(nfToAdopt) { }
25
    virtual ~SharedNumberFormat();
26
0
    const NumberFormat *get() const { return ptr; }
27
122k
    const NumberFormat *operator->() const { return ptr; }
28
1.25M
    const NumberFormat &operator*() const { return *ptr; }
29
private:
30
    NumberFormat *ptr;
31
    SharedNumberFormat(const SharedNumberFormat &) = delete;
32
    SharedNumberFormat &operator=(const SharedNumberFormat &) = delete;
33
};
34
35
template<> U_I18N_API
36
const SharedNumberFormat *LocaleCacheKey<SharedNumberFormat>::createObject(
37
        const void * /*unused*/, UErrorCode &status) const;
38
39
U_NAMESPACE_END
40
41
#endif