- // Add matching creds to results array.
- static void (vector<const Credential*>::* push_back)(const Credential* const &) = &vector<const Credential*>::push_back;
- for_each(
- creds.begin(), creds.end(),
- if_(lambda::bind(&CredentialCriteria::matches, metacrit, boost::ref(*_1)))[lambda::bind(push_back, boost::ref(results), _1)]
- );
-
+ for (credmap_t::mapped_type::const_iterator c = creds.begin(); c!=creds.end(); ++c)
+ if (metacrit->matches(*(*c)))
+ results.push_back(*c);