Home | History | Annotate | Download | only in browser
      1 // Copyright 2013 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 COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_INL_H_
      6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_INL_H_
      7 
      8 namespace autofill {
      9 
     10 template<typename T>
     11 class FormGroupMatchesByCompareFunctor {
     12  public:
     13   explicit FormGroupMatchesByCompareFunctor(const T& form_group)
     14       : form_group_(form_group) {
     15   }
     16 
     17   bool operator()(const T* form_group) {
     18     return form_group->Compare(form_group_) == 0;
     19   }
     20 
     21   bool operator()(const T& form_group) {
     22     return form_group.Compare(form_group_) == 0;
     23   }
     24 
     25  private:
     26   const T& form_group_;
     27 };
     28 
     29 template<typename C, typename T>
     30 bool FindByContents(const C& container, const T& form_group) {
     31   return std::find_if(
     32       container.begin(),
     33       container.end(),
     34       FormGroupMatchesByCompareFunctor<T>(form_group)) != container.end();
     35 }
     36 
     37 }  // namespace autofill
     38 
     39 #endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_INL_H_
     40