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 8namespace autofill { 9 10template<typename T> 11class 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 29template<typename C, typename T> 30bool 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