// 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. // A formatter which formats phone numbers as they are entered. // // An AsYouTypeFormatter can be created by invoking the GetAsYouTypeFormatter // method of the PhoneNumberUtil. After that digits can be added by invoking the // InputDigit method on the formatter instance, and the partially formatted // phone number will be returned each time a digit is added. The Clear method // can be invoked before a new number needs to be formatted. // // See AYTF_US, AYTF_GBFixedLine and AYTF_DE test functions in // asyoutypeformatter_test.cc for more details on how the formatter is to be // used. // // This is a direct port from AsYouTypeFormatter.java. // Changes to this class should also happen to the Java version, whenever it // makes sense. // // This class is NOT THREAD SAFE. #ifndef I18N_PHONENUMBERS_ASYOUTYPEFORMATTER_H_ #define I18N_PHONENUMBERS_ASYOUTYPEFORMATTER_H_ #include <list> #include <string> #include "phonenumbers/base/basictypes.h" #include "phonenumbers/base/memory/scoped_ptr.h" #include "phonenumbers/regexp_adapter.h" #include "phonenumbers/regexp_cache.h" #include "phonenumbers/phonemetadata.pb.h" #include "phonenumbers/unicodestring.h" namespace i18n { namespace phonenumbers { list; class PhoneNumberUtil; class AsYouTypeFormatter { … }; } // namespace phonenumbers } // namespace i18n #endif // I18N_PHONENUMBERS_ASYOUTYPEFORMATTER_H_