Browse Source

GCC 4.4 compatibility: no lambda functions.

Vladimír Vondruš 12 years ago
parent
commit
c8e4a93317
  1. 16
      src/Magnum/SceneGraph/FeatureGroup.hpp

16
src/Magnum/SceneGraph/FeatureGroup.hpp

@ -46,9 +46,21 @@ template<UnsignedInt dimensions, class T> void AbstractFeatureGroup<dimensions,
features.push_back(std::ref(feature));
}
namespace {
template<UnsignedInt dimensions, class T> struct PointerCompare {
PointerCompare(AbstractFeature<dimensions, T>& feature): feature(feature) {}
bool operator()(AbstractFeature<dimensions, T>& f) {
return &f == &feature;
};
private:
AbstractFeature<dimensions, T>& feature;
};
}
template<UnsignedInt dimensions, class T> void AbstractFeatureGroup<dimensions, T>::remove(AbstractFeature<dimensions, T>& feature) {
features.erase(std::find_if(features.begin(), features.end(),
[&feature](AbstractFeature<dimensions, T>& f) { return &f == &feature; }));
features.erase(std::find_if(features.begin(), features.end(), PointerCompare<dimensions, T>{feature}));
}
}}

Loading…
Cancel
Save