+ bind(std::equal_to<string>(),
+ bind(&MenuItem::submenuname, _1),
+ name)) != end();
+#else
+ // I would have prefered this, but I am not sure if it
+ // makes a difference. (Lgb)
+ return find_if(
+ make_transform_iterator(begin(),
+ bind(&MenuItem::submenuname, _1)),
+ make_transform_iterator(end(),
+ bind(&MenuItem::submenuname, _1)),
+ name
+ ).base() != end();
+#endif