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