diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index 2f17915d6b..22b61bae3d 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -2044,31 +2044,10 @@ std::string GeneratorExpressionContent::EvaluateParameters( return std::string(); } -//---------------------------------------------------------------------------- -static void deleteAll(const std::vector &c) -{ - std::vector::const_iterator it - = c.begin(); - const std::vector::const_iterator end - = c.end(); - for ( ; it != end; ++it) - { - delete *it; - } -} - //---------------------------------------------------------------------------- GeneratorExpressionContent::~GeneratorExpressionContent() { - deleteAll(this->IdentifierChildren); - - typedef std::vector EvaluatorVector; - std::vector::const_iterator pit = - this->ParamChildren.begin(); - const std::vector::const_iterator pend = - this->ParamChildren.end(); - for ( ; pit != pend; ++pit) - { - deleteAll(*pit); - } + cmDeleteAll(this->IdentifierChildren); + std::for_each(this->ParamChildren.begin(), this->ParamChildren.end(), + cmDeleteAll >); }