summaryrefslogtreecommitdiffstats
path: root/third_party/libphonenumber/cpp/src/re2_cache.cc
diff options
context:
space:
mode:
authorgeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-04 00:27:30 +0000
committergeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-04 00:27:30 +0000
commited418b26ee16196efee1e5680608cc8de427187d (patch)
tree05c3ac0768f09acc053aa9978fb5da4ca0f91736 /third_party/libphonenumber/cpp/src/re2_cache.cc
parent5020e06b2ea69a74f913a2b393cb746f580ab447 (diff)
downloadchromium_src-ed418b26ee16196efee1e5680608cc8de427187d.zip
chromium_src-ed418b26ee16196efee1e5680608cc8de427187d.tar.gz
chromium_src-ed418b26ee16196efee1e5680608cc8de427187d.tar.bz2
Revert 84000 - Autofill phone number enhancements and integration of Phone Number Util Library: part 1
Temporarily the whole library is included, until the patch is upstreamed. BUG=71443 TEST=Unit-tested Review URL: http://codereview.chromium.org/6803005 TBR=georgey@chromium.org Review URL: http://codereview.chromium.org/6920006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84009 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libphonenumber/cpp/src/re2_cache.cc')
-rw-r--r--third_party/libphonenumber/cpp/src/re2_cache.cc75
1 files changed, 0 insertions, 75 deletions
diff --git a/third_party/libphonenumber/cpp/src/re2_cache.cc b/third_party/libphonenumber/cpp/src/re2_cache.cc
deleted file mode 100644
index 1abf95e..0000000
--- a/third_party/libphonenumber/cpp/src/re2_cache.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (C) 2011 Google Inc.
-//
-// 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: Fredrik Roubert <roubert@google.com>
-
-#include "re2_cache.h"
-
-#include <cstddef>
-#include <string>
-#include <utility>
-
-#include <re2/re2.h>
-
-#include "base/logging.h"
-#include "base/synchronization/lock.h"
-
-using std::string;
-
-// A basic text book string hash function implementation, this one taken from
-// The Practice of Programming (Kernighan and Pike 1999). It could be a good
-// idea in the future to evaluate how well it actually performs and possibly
-// switch to another hash function better suited to this particular use case.
-namespace __gnu_cxx {
-template<> struct hash<string> {
- enum { MULTIPLIER = 31 };
- size_t operator()(const string& key) const {
- size_t h = 0;
- for (const char* p = key.c_str(); *p != '\0'; ++p) {
- h *= MULTIPLIER;
- h += *p;
- }
- return h;
- }
-};
-} // namespace __gnu_cxx
-
-namespace i18n {
-namespace phonenumbers {
-
-RE2Cache::RE2Cache(size_t min_items) : cache_impl_(new CacheImpl(min_items)) {}
-RE2Cache::~RE2Cache() {
- base::AutoLock l(lock_);
- LOG(2) << "Cache entries upon destruction: " << cache_impl_->size();
- for (CacheImpl::const_iterator
- it = cache_impl_->begin(); it != cache_impl_->end(); ++it) {
- delete it->second;
- }
-}
-
-RE2Cache::ScopedAccess::ScopedAccess(RE2Cache* cache, const string& pattern) {
- DCHECK(cache);
- base::AutoLock l(cache->lock_);
- CacheImpl* const cache_impl = cache->cache_impl_.get();
- CacheImpl::const_iterator it = cache_impl->find(pattern);
- if (it != cache_impl->end()) {
- regexp_ = it->second;
- } else {
- regexp_ = new RE2(pattern);
- cache_impl->insert(make_pair(pattern, regexp_));
- }
-}
-
-} // namespace phonenumbers
-} // namespace i18n