Home | History | Annotate | Download | only in autofill
      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:
     12   explicit FormGroupMatchesByCompareFunctor(const T& form_group)
     13       : form_group_(form_group) {
     14   }
     15 
     16   bool operator()(const T* form_group) {
     17     return form_group->Compare(form_group_) == 0;
     18   }
     19 
     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>
     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