- const vector<EntitiesDescriptor*>& groups = group->getEntitiesDescriptors();
- for (vector<EntitiesDescriptor*>::const_iterator i = groups.begin(); i != groups.end(); ++i)
- disco(s, *i, first);
-
- const vector<EntityDescriptor*>& sites = group->getEntityDescriptors();
- for (vector<EntityDescriptor*>::const_iterator j = sites.begin(); j != sites.end(); ++j)
- disco(s, *j, first);
+ for_each(
+ group->getEntitiesDescriptors().begin(), group->getEntitiesDescriptors().end(),
+ boost::bind(&DiscoverableMetadataProvider::discoGroup, this, boost::ref(s), _1, boost::ref(first))
+ );
+ for_each(
+ group->getEntityDescriptors().begin(), group->getEntityDescriptors().end(),
+ boost::bind(&DiscoverableMetadataProvider::discoEntity, this, boost::ref(s), _1, boost::ref(first))
+ );