1fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius/*
2fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius******************************************************************************
3fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius* Copyright (C) 2014, International Business Machines
4fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius* Corporation and others.  All Rights Reserved.
5fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius******************************************************************************
6fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius* sharednumberformat.h
7fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius*/
8fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
9fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#ifndef __SHARED_NUMBERFORMAT_H__
10fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#define __SHARED_NUMBERFORMAT_H__
11fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
12fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#include "unicode/utypes.h"
13fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#include "sharedobject.h"
14fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#include "sharedptr.h"
15fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
16fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_NAMESPACE_BEGIN
17fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
18fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusclass NumberFormat;
19fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
20fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusclass U_I18N_API SharedNumberFormat : public SharedObject {
21fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliuspublic:
22fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    SharedNumberFormat(NumberFormat *nfToAdopt) : ptr(nfToAdopt) { }
23fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    virtual ~SharedNumberFormat();
24fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    const NumberFormat *get() const { return ptr; }
25fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    const NumberFormat *operator->() const { return ptr; }
26fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    const NumberFormat &operator*() const { return *ptr; }
27fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusprivate:
28fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    NumberFormat *ptr;
29fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    SharedNumberFormat(const SharedNumberFormat &);
30fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    SharedNumberFormat &operator=(const SharedNumberFormat &);
31fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius};
32fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
33fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_NAMESPACE_END
34fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
35fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#endif
36