1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "plural_rules.h" 17 18 using namespace OHOS::I18N; 19 PluralRules(std::string * rules,const int rulesLength,const int * ruleSize,const int sizesLength)20 PluralRules::PluralRules(std::string *rules, const int rulesLength, const int *ruleSize, const int sizesLength) 21 { 22 if ((rules != nullptr) && (ruleSize != nullptr) && 23 (rulesLength > PluralRuleType::OTHER) && (sizesLength > PluralRuleType::OTHER)) { 24 mZeroRule = rules[PluralRuleType::ZERO]; 25 mZeroRuleSize = ruleSize[PluralRuleType::ZERO]; 26 mOneRule = rules[PluralRuleType::ONE]; 27 mOneRuleSize = ruleSize[PluralRuleType::ONE]; 28 mTwoRule = rules[PluralRuleType::TWO]; 29 mTwoRuleSize = ruleSize[PluralRuleType::TWO]; 30 mFewRule = rules[PluralRuleType::FEW]; 31 mFewRuleSize = ruleSize[PluralRuleType::FEW]; 32 mManyRule = rules[PluralRuleType::MANY]; 33 mManyRuleSize = ruleSize[PluralRuleType::MANY]; 34 mOtherRule = rules[PluralRuleType::OTHER]; 35 mOtherRuleSize = ruleSize[PluralRuleType::OTHER]; 36 } 37 } 38 ~PluralRules()39 PluralRules::~PluralRules() {}