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