// Copyright (C) 2011 The Libphonenumber Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Author: Philippe Liard #include #include #include #include "phonenumbers/phonenumber.h" namespace i18n { namespace phonenumbers { using std::string; using std::ostream; using std::vector; class PhoneNumber; // Provides PhoneNumber comparison operators to support the use of EXPECT_EQ and // EXPECT_NE in the unittests. inline bool operator==(const PhoneNumber& number1, const PhoneNumber& number2) { return ExactlySameAs(number1, number2); } inline bool operator!=(const PhoneNumber& number1, const PhoneNumber& number2) { return !(number1 == number2); } // Needed by Google Test to display errors. ostream& operator<<(ostream& os, const PhoneNumber& number); ostream& operator<<(ostream& os, const vector& numbers); // Class containing string constants of region codes for easier testing. Note // that another private RegionCode class is defined in // cpp/src/phonenumbers/region_code.h. This one contains more constants. class RegionCode { public: static const char* AD() { return "AD"; } static const char* AE() { return "AE"; } static const char* AM() { return "AM"; } static const char* AO() { return "AO"; } static const char* AQ() { return "AQ"; } static const char* AR() { return "AR"; } static const char* AU() { return "AU"; } static const char* BB() { return "BB"; } static const char* BR() { return "BR"; } static const char* BS() { return "BS"; } static const char* BY() { return "BY"; } static const char* CA() { return "CA"; } static const char* CH() { return "CH"; } static const char* CL() { return "CL"; } static const char* CN() { return "CN"; } static const char* CS() { return "CS"; } static const char* CX() { return "CX"; } static const char* DE() { return "DE"; } static const char* FR() { return "FR"; } static const char* GB() { return "GB"; } static const char* HU() { return "HU"; } static const char* IT() { return "IT"; } static const char* JP() { return "JP"; } static const char* KR() { return "KR"; } static const char* MX() { return "MX"; } static const char* NZ() { return "NZ"; } static const char* PL() { return "PL"; } static const char* RE() { return "RE"; } static const char* RU() { return "RU"; } static const char* SE() { return "SE"; } static const char* SG() { return "SG"; } static const char* UN001() { return "001"; } static const char* US() { return "US"; } static const char* UZ() { return "UZ"; } static const char* YT() { return "YT"; } static const char* ZW() { return "ZW"; } // Returns a region code string representing the "unknown" region. static const char* GetUnknown() { return "ZZ"; } static const char* ZZ() { return GetUnknown(); } }; } // namespace phonenumbers } // namespace i18n