1c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// Copyright (C) 2014 Google Inc. 2c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// 3c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// Licensed under the Apache License, Version 2.0 (the "License"); 4c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// you may not use this file except in compliance with the License. 5c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// You may obtain a copy of the License at 6c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// 7c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// http://www.apache.org/licenses/LICENSE-2.0 8c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// 9c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// Unless required by applicable law or agreed to in writing, software 10c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// distributed under the License is distributed on an "AS IS" BASIS, 11c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// See the License for the specific language governing permissions and 13c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// limitations under the License. 14c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// 15c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com// Post office box regular expressions. 16c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 17c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com#ifndef I18N_ADDRESSINPUT_POST_BOX_MATCHERS_H_ 18c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com#define I18N_ADDRESSINPUT_POST_BOX_MATCHERS_H_ 19c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 206c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com#include <libaddressinput/util/basictypes.h> 216c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com 22c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com#include <vector> 23c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 24c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.comnamespace i18n { 25c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.comnamespace addressinput { 26c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 27c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.comclass Rule; 28fc1f6dd0d327c108cd8b0f7ed194099d5324d2f6rouslan@chromium.orgstruct RE2ptr; 29c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 30c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.comclass PostBoxMatchers { 31c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com public: 32c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com // Returns pointers to RE2 regular expression objects to test address lines 33c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com // for those languages that are relevant for |country_rule|. 34c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com static std::vector<const RE2ptr*> GetMatchers(const Rule& country_rule); 356c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com 366c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com private: 376c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com DISALLOW_COPY_AND_ASSIGN(PostBoxMatchers); 38c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com}; 39c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 40c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com} // namespace addressinput 41c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com} // namespace i18n 42c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com 43c3c546166647eeda301711d0ee83d4f7187f3a9croubert@google.com#endif // I18N_ADDRESSINPUT_POST_BOX_MATCHERS_H_ 44