• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_INL_H_
6 #define CHROME_BROWSER_AUTOFILL_AUTOFILL_INL_H_
7 #pragma once
8 
9 template<typename T>
10 class FormGroupMatchesByCompareFunctor {
11  public:
FormGroupMatchesByCompareFunctor(const T & form_group)12   explicit FormGroupMatchesByCompareFunctor(const T& form_group)
13       : form_group_(form_group) {
14   }
15 
operator()16   bool operator()(const T* form_group) {
17     return form_group->Compare(form_group_) == 0;
18   }
19 
operator()20   bool operator()(const T& form_group) {
21     return form_group.Compare(form_group_) == 0;
22   }
23 
24  private:
25   const T& form_group_;
26 };
27 
28 template<typename C, typename T>
FindByContents(const C & container,const T & form_group)29 bool FindByContents(const C& container, const T& form_group) {
30   return std::find_if(
31       container.begin(),
32       container.end(),
33       FormGroupMatchesByCompareFunctor<T>(form_group)) != container.end();
34 }
35 
36 #endif  // CHROME_BROWSER_AUTOFILL_AUTOFILL_INL_H_
37