// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * Copyright (C) 2014, International Business Machines * Corporation and others. All Rights Reserved. ****************************************************************************** * sharednumberformat.h */ #ifndef __SHARED_NUMBERFORMAT_H__ #define __SHARED_NUMBERFORMAT_H__ #include "unicode/utypes.h" #include "sharedobject.h" #include "unifiedcache.h" U_NAMESPACE_BEGIN class NumberFormat; class U_I18N_API SharedNumberFormat : public SharedObject { public: SharedNumberFormat(NumberFormat *nfToAdopt) : ptr(nfToAdopt) { } virtual ~SharedNumberFormat(); const NumberFormat *get() const { return ptr; } const NumberFormat *operator->() const { return ptr; } const NumberFormat &operator*() const { return *ptr; } private: NumberFormat *ptr; SharedNumberFormat(const SharedNumberFormat &) = delete; SharedNumberFormat &operator=(const SharedNumberFormat &) = delete; }; template<> U_I18N_API const SharedNumberFormat *LocaleCacheKey::createObject( const void * /*unused*/, UErrorCode &status) const; U_NAMESPACE_END #endif